使用 @Input() 时出现 TypeScript 错误
TypeScript Error While Using @Input()
我正在尝试使用 Angular 4 开发应用程序。但是我在使用
时收到错误消息
@Input('inputProducts') products: Product[];
错误是
[tslint] In the class "ProductListComponent", the directive input
property "products" should not be renamed.Please, consider the
following use "@Input() products: string" (no-input-rename).
错误没有任何影响,我的应用程序运行正常,但很烦人,无法删除它。代码片段如下:
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Product } from '../product-row/product.model';
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styleUrls: ['./product-list.component.css']
})
export class ProductListComponent implements OnInit {
@Input('inputProducts') products: Product[];
@Output() selectedProduct: EventEmitter<Product>;
constructor() {
this.selectedProduct = new EventEmitter();
}
clickedProduct(p: Product): boolean {
this.selectedProduct.emit(p);
return false;
}
ngOnInit() {
}
}
html部分
<app-product-list [inputProducts]="products"></app-product-list>
请指出正确的方向以消除此错误。
这是风格指南,no-input-rename
您应该设置为 false 的规则不会出现此类 tslint 错误。 no-input-rename
通常在您使用 Angular CLI 生成项目时设置为 true
。转到您的 tslint 文件并使其值等于 false
。应该类似于:"no-input-rename": false
.
@Input() inputProducts: Product[];
应该可以解决您的问题。
products: Product[];
@Input('inputProducts')
set productsFromInput(projects: Project[]) {
this.products = products;
}
我正在尝试使用 Angular 4 开发应用程序。但是我在使用
时收到错误消息@Input('inputProducts') products: Product[];
错误是
[tslint] In the class "ProductListComponent", the directive input property "products" should not be renamed.Please, consider the following use "@Input() products: string" (no-input-rename).
错误没有任何影响,我的应用程序运行正常,但很烦人,无法删除它。代码片段如下:
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Product } from '../product-row/product.model';
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styleUrls: ['./product-list.component.css']
})
export class ProductListComponent implements OnInit {
@Input('inputProducts') products: Product[];
@Output() selectedProduct: EventEmitter<Product>;
constructor() {
this.selectedProduct = new EventEmitter();
}
clickedProduct(p: Product): boolean {
this.selectedProduct.emit(p);
return false;
}
ngOnInit() {
}
}
html部分
<app-product-list [inputProducts]="products"></app-product-list>
请指出正确的方向以消除此错误。
这是风格指南,no-input-rename
您应该设置为 false 的规则不会出现此类 tslint 错误。 no-input-rename
通常在您使用 Angular CLI 生成项目时设置为 true
。转到您的 tslint 文件并使其值等于 false
。应该类似于:"no-input-rename": false
.
@Input() inputProducts: Product[];
应该可以解决您的问题。
products: Product[];
@Input('inputProducts')
set productsFromInput(projects: Project[]) {
this.products = products;
}