Angular 隶书错误
我已从中复制了以下代码: 但我发现以下错误:Angular 隶书错误,angular,angular-material,phpstorm,Angular,Angular Material,Phpstorm,我已从中复制了以下代码: 但我发现以下错误: TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型) 未使用的字段可见 TSLint:标识符“值”从未重新分配;使用“const”而不是“let”。(更喜欢常数) 为什么我会犯这些错误?我不认为这是安格拉斯的错。所以我一定是做错了什么 这些都是linting错误,换句话说,它们不会产生bug,但它们的存在是因为代码不符合TSlint样式指南,例如当您使用标准jslinter并放置时也是如此过梁将在下划线作为
- TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型)
- 未使用的字段可见
- TSLint:标识符“值”从未重新分配;使用“const”而不是“let”。(更喜欢常数)
为什么我会犯这些错误?我不认为这是安格拉斯的错。所以我一定是做错了什么 这些都是linting错误,换句话说,它们不会产生bug,但它们的存在是因为代码不符合TSlint样式指南,例如当您使用
标准js
linter并放置时也是如此代码>过梁将在下划线代码>作为错误。这些都是linting错误,换句话说,它们不会产生bug,但它们的存在是因为代码不符合TSlint样式指南,例如,当您使用标准js
linter并放置时,它们是相同的代码>过梁将在下划线代码>作为错误。这些不是官方文件中的“错误”。它们是来自typescript linter的警告。Angular CLI与TSLint捆绑在一起,TSLint是一个在代码之后进行检查并向您发出警告的软件包,因此您可以保持代码干净并遵守标准
- TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型)
声明变量时,如果初始化它,则无需指定类型,因为typescript可以从指定的值推断它
let myVar = true; // myVar is of inferred boolean type
- 未使用的字段可见
您的变量已声明但从未使用过。这是一个提示,可能只是从代码中删除它
- TSLint:标识符“值”从未重新分配;使用“const”而不是“let”。(更喜欢常数)
如果从未为变量重新赋值,请使用const而不是let。常量变量将保存一个值,同时保护它不被更改
只需使用建议的修改:
selectable = true;
removable = true;
addOnBlur =true;
// Enter, comma
separatorKeysCodes = [ENTER, COMMA];
fruits = [
{ name: 'Lemon' },
{ name: 'Lime' },
{ name: 'Apple' },
];
add(event: MatChipInputEvent): void {
let input = event.input;
const value = event.value;
// Add our fruit
if ((value || '').trim()) {
this.fruits.push({ name: value.trim() });
}
// Reset the input value
if (input) {
input.value = '';
}
}
remove(fruit: any): void {
let index = this.fruits.indexOf(fruit);
if (index >= 0) {
this.fruits.splice(index, 1);
}
}
这些不是官方文件中的“错误”。它们是来自typescript linter的警告。Angular CLI与TSLint捆绑在一起,TSLint是一个在代码之后进行检查并向您发出警告的软件包,因此您可以保持代码干净并遵守标准
- TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型)
声明变量时,如果初始化它,则无需指定类型,因为typescript可以从指定的值推断它
let myVar = true; // myVar is of inferred boolean type
- 未使用的字段可见
您的变量已声明但从未使用过。这是一个提示,可能只是从代码中删除它
- TSLint:标识符“值”从未重新分配;使用“const”而不是“let”。(更喜欢常数)
如果从未为变量重新赋值,请使用const而不是let。常量变量将保存一个值,同时保护它不被更改
只需使用建议的修改:
selectable = true;
removable = true;
addOnBlur =true;
// Enter, comma
separatorKeysCodes = [ENTER, COMMA];
fruits = [
{ name: 'Lemon' },
{ name: 'Lime' },
{ name: 'Apple' },
];
add(event: MatChipInputEvent): void {
let input = event.input;
const value = event.value;
// Add our fruit
if ((value || '').trim()) {
this.fruits.push({ name: value.trim() });
}
// Reset the input value
if (input) {
input.value = '';
}
}
remove(fruit: any): void {
let index = this.fruits.indexOf(fruit);
if (index >= 0) {
this.fruits.splice(index, 1);
}
}
这是因为您的IDE启用了TSLint
TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型)
在ts中,类型是可推断的-当您指定布尔值时,不需要显式地提到:boolean。更改如下
visible = true;
selectable = true;
removable = true;
addOnBlur = true;
未使用的字段可见
在代码中的任何地方都没有使用visible
TSLint:从未重新分配标识符“值”;使用“const”而不是“let”。(首选常量)
如果不重新分配变量,则将其定义为常量,而不是let
const value = event.value;
这是因为您的IDE启用了TSLint
TSLint:Type boolean从boolean文本推断,删除类型注释(无可推断类型)
在ts中,类型是可推断的-当您指定布尔值时,不需要显式地提到:boolean。更改如下
visible = true;
selectable = true;
removable = true;
addOnBlur = true;
未使用的字段可见
在代码中的任何地方都没有使用visible
TSLint:从未重新分配标识符“值”;使用“const”而不是“let”。(首选常量)
如果不重新分配变量,则将其定义为常量,而不是let
const value = event.value;
您还可以选择在tslint.json中禁用此警告
“无可推断类型”:[true,“ignore params”]
至“无可推断类型”:[false,“ignore params”]
您还可以在tslint.json内禁用此警告
“无可推断类型”:[true,“ignore params”]
至“无可推断类型”:[false,“ignore params”]
如果Angular CLI与TSLint捆绑在一起,那么我不明白他们为什么不在没有警告的情况下清理代码。但这对我有帮助,谢谢!如果Angular CLI与TSLint捆绑在一起,那么我不明白他们为什么不在没有警告的情况下清理代码。但这对我有帮助,谢谢!