小编Ton*_*alo的帖子

Tslint - 类型推断 - 为什么在这里包含类型是不好的做法?

在VSCode中,当我添加以下代码时,linter,tslint会抱怨,类型如下:

serverId: number = 10;
Run Code Online (Sandbox Code Playgroud)

并给出以下消息:

[tslint]从数字文字中简单推断的类型编号,删除类型注释(不可推断的类型)

当我删除"号码"类型时,消息就会消失.

为什么在这里包含类型信息是不好的做法?

typescript visual-studio-code angular

47
推荐指数
5
解决办法
2万
查看次数

Git fetch origin vs git fetch --all

以下git命令有什么区别?

git fetch origin
Run Code Online (Sandbox Code Playgroud)

git fetch --all
Run Code Online (Sandbox Code Playgroud)

从命令行运行它们看起来像是做同样的事情.

git git-fetch

19
推荐指数
3
解决办法
1万
查看次数

重置表单并设置默认值Angular 2

我正在开发一个简单的Angular 2应用程序,但我无法重置ngForm但保留默认值:

预期的行为是单击"重置"时,输入框将重置为默认值(在本例中为"默认")以及返回默认值的所有角度特定类(即ng-untouched,ng-pristine,等等)

我所看到的是默认值也被清除,即使我在重置表单后明确设置它也是如此

以下代码段:

HTML:

<form (ngSubmit)="onTrainSearchClick()" novalidate #trainForm="ngForm">
  <input type="text" [(ngModel)]="id" name="someId"/>
  <button type="button" (click)="reset(trainForm)">Reset</button>
  <button type="submit">Search</button>
</form>
Run Code Online (Sandbox Code Playgroud)

TypeScript(省略了导入和@Component):

export class TrainSearchTestComponent implements OnInit {

  id: string = 'DEFUALT';

  constructor() { }
  ngOnInit() { }
  onTrainSearchClick(){ }

  reset(form: NgForm){
    form.resetForm();
    this.id = 'DEFUALT';
  }
}
Run Code Online (Sandbox Code Playgroud)

forms angular

14
推荐指数
1
解决办法
3万
查看次数

打字稿返回类型:void

在Typescript(在Angular项目中使用)中没有返回任何内容的方法(void),下面哪个是最佳实践?

onSelect(someNumber: number): void {

}
Run Code Online (Sandbox Code Playgroud)

要么

onSelect(someNumber: number) {

}
Run Code Online (Sandbox Code Playgroud)

我在不同的例子中都看到了这两种方式,并且不确定将返回类型添加为void还是留空是否更好?

typescript angular

14
推荐指数
2
解决办法
3881
查看次数

将命令行参数传递给package.json中的npm脚本

我在package.json中有以下脚本:

"scripts": {
    "vumper": "node node_modules/vumper/index.js",
    "format": "prettier --single-quote -width=80 --write package.json"
 },
Run Code Online (Sandbox Code Playgroud)

'vumper'包接受命令行参数(例如'dv').我希望能够做的是拥有一个连续运行这两个命令的命令.

基本上,我希望能够运行:

npm run vumber dv
Run Code Online (Sandbox Code Playgroud)

然后

npm run format
Run Code Online (Sandbox Code Playgroud)

但在一个命令中,类似于

npm run my-build dv
Run Code Online (Sandbox Code Playgroud)

这将运行上述两个命令,正确接受命令行参数'dv'并将其传递给第一个npm run vumper.这可能吗?

npm package.json npm-scripts

13
推荐指数
3
解决办法
2万
查看次数

角度材质覆盖SnackBar组件的默认样式

我试图覆盖Angular Material 中的snackbar组件的默认最大宽度.

Angular Material应用的CSS如下所示:

.mat-snack-bar-container {
    border-radius: 2px;
    box-sizing: border-box;
    display: block;
    margin: 24px;
    max-width: 568px;
    min-width: 288px;
    padding: 14px 24px;
    transform: translateY(100%) translateY(24px);
}
Run Code Online (Sandbox Code Playgroud)

我尝试在style.css文件中使用相同的样式覆盖,但默认样式会覆盖此样式.

 .mat-snack-bar-container {
   max-width: 800px;
 }
Run Code Online (Sandbox Code Playgroud)

我找到了类似问题的答案,但我知道这个问题的答案现已弃用(/ deep /已弃用).

有最佳实践解决方案吗?

css angular-material2 angular

10
推荐指数
3
解决办法
7070
查看次数

如何在 Javascript 中通过 Map 键使用 .map()

当使用Map内置的 Javascript 时,如何使用 .map() 来迭代键?

我知道 for...of 可以使用如下所示:

const map = new Map();

map.set(0, 'Zero');
map.set(1, 'One');
map.set(2, 'Two');

for (let key of map.keys()) {
  console.log(key);
}
Run Code Online (Sandbox Code Playgroud)

但这段代码会失败:

map.keys().map(key => {
  console.log(key);
});
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 array.prototype.map

9
推荐指数
2
解决办法
2万
查看次数

生成具有指定位数Java的随机整数

我今天遇到了这个问题,我确信有一个我没想到的优雅解决方案.

假设我想在Java中生成一个具有指定位数的随机整数(或长整数),其中这个位数可以改变.

即将多个数字传递给方法,并返回具有指定位数的随机数

例)N = 3,产生100-999之间的随机数; N = 4,生成1000-9999之间的随机数

private long generateRandomNumber(int n){

/*Generate a random number with n number of digits*/

}
Run Code Online (Sandbox Code Playgroud)

到目前为止我的尝试(这有效,但看起来很乱)

private long generateRandomNumber(int n){

    String randomNumString = "";

    Random r = new Random();

    //Generate the first digit from 1-9
    randomNumString += (r.nextInt(9) + 1);

    //Generate the remaining digits between 0-9
    for(int x = 1; x < n; x++){
        randomNumString += r.nextInt(9);
    }

    //Parse and return
    return Long.parseLong(randomNumString);

}
Run Code Online (Sandbox Code Playgroud)

有没有比这更好/更有效的解决方案?

*有很多解决方案可以在指定的范围内生成随机数,我对给定一定数量的数字生成随机数的最佳方法更加好奇,并且使解决方案足够强大以处理任意数量的数字.

我不想传递最小值和最大值,而只需要传递所需的位数

java random

8
推荐指数
2
解决办法
4943
查看次数

Git-按创建日期查看远程分支

是否可以按创建日期而不是按字母顺序查看远程分支的列表?

现在我用

git branch -r
Run Code Online (Sandbox Code Playgroud)

输出下面的远程分支列表:

 origin/HEAD -> origin/develop
 origin/calendar-view-impl
 origin/containers-redesign
 origin/develop
 origin/dialogs-view-impl
 origin/dropdowns-redesign
Run Code Online (Sandbox Code Playgroud)

如果可以在分支的创建日期之前对其进行排序,那就太好了。

git

5
推荐指数
1
解决办法
1831
查看次数

将JSF Composite Component打包到JAR中

当我们尝试将我们的复合组件捆绑到一个jar中并作为依赖项包含在另一个项目中时,我遵循了以下答案.

这适用于除复合组件实现之外的所有内容.我们常见项目的文件夹结构如下所示:

CommonWebProject
 |-- META-INF
 |    |-- resources
 |    |    `-- common
 |    |         |-- css
 |    |         |    ...
 |    |         |-- js
 |    |         |    ...
 |    |         |-- components
 |    |         |    `-- comment.xhtml
 |    |         |-- templates
 |    |         |    `-- defaultTemplate.xhtml
 |    |-- faces-config.xml
 |    `-- MANIFEST.MF
 :
Run Code Online (Sandbox Code Playgroud)

comment.xhtml包括:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:composite="http://java.sun.com/jsf/composite">

<composite:interface>

</composite:interface>

<composite:implementation>
  <p>TESTING!</p>
</composite:implementation>

</html> …
Run Code Online (Sandbox Code Playgroud)

jsf modularity xml-namespaces composite-component jsf-2

5
推荐指数
1
解决办法
422
查看次数