我正在尝试在此example
之后的指令中设置输入别名 @Input('appAvatarColor') name: string;
该程序正在运行,但我收到TS Lint的警告
不应重命名指令输入属性
指令选择器是这个
@Directive({
selector: '[appAvatarColor]'
})
我做错了吗?
答案 0 :(得分:35)
您可以在tslint.json
"no-input-rename": false
或禁用仅检查特定行的检查:
// tslint:disable-next-line:no-input-rename
@Input('appAvatarColor') name: string;
我的问题是,为什么默认情况下这被视为不良做法?
同一财产的两个名称(一个私人,一个公共)本质上令人困惑。
当指令名称也是输入属性时,您应该使用别名,并且指令名称不描述该属性。
来自https://angular.io/docs/ts/latest/guide/style-guide.html#!#05-13
答案 1 :(得分:19)
您可以通过以下方式实施:
@Input() appAvatarColor: string;
答案 2 :(得分:1)
您应将@Input('appAvatarColor') name: string;
重命名为其他名称,以使其与指令名称不同。您可以执行@Input('avatarColor') name: string;
,然后通过@Input() avatarColor: string;
答案 3 :(得分:1)
正确的做法应该是:
@Input() appAvatarColor: string;