我试图在此示例后面的指令中设置输入别名
@Input('appAvatarColor') name: string;
Run Code Online (Sandbox Code Playgroud)
该计划正在运作,但我收到TS Lint的警告
不应重命名指令输入属性
指令选择器就是这个
@Directive({
selector: '[appAvatarColor]'
})
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
yur*_*zui 41
您可以关闭规则 tslint.json
"no-input-rename": false
Run Code Online (Sandbox Code Playgroud)
或禁用仅检查特定行的检查:
// tslint:disable-next-line:no-input-rename
@Input('appAvatarColor') name: string;
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么默认情况下这被认为是一种不好的做法?
同一财产的两个名称(一个私人,一个公共)本质上令人困惑.
当指令名也是输入属性时,您应该使用别名,并且指令名称不描述该属性.
来自https://angular.io/docs/ts/latest/guide/style-guide.html#!#05-13
小智 22
您可以通过以下方式实现它:
@Input() appAvatarColor: string;
Run Code Online (Sandbox Code Playgroud)
您应该重命名@Input('appAvatarColor') name: string;为其他名称以使其与指令名称不同。你可以做@Input('avatarColor') name: string;然后简化它@Input() avatarColor: string;
| 归档时间: |
|
| 查看次数: |
12161 次 |
| 最近记录: |