2017-05-17 37 views
3

我試圖設置輸入別名的指令以下這個例子:https://angular.io/docs/ts/latest/guide/attribute-directives.html#!#bind-to-an--input-alias角:綁定到@input別名

@Input('appAvatarColor') name: string; 

程序的工作,但我從TS皮棉接收此警告

指令輸入屬性不應改名

的指令選擇是這樣的

@Directive({ 
    selector: '[appAvatarColor]' 
}) 

我做錯了什麼?

+1

我懷疑你在'tslint.json'文件中有''no-input-rename':true'規則 – yurzui

+1

@yurzui yes。這是正確的。我使用由角度cli生成的標準tslint.json。我的問題是爲什麼這被認爲是一個不好的做法默認情況下? –

回答

8

您可以關閉規則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

可以實現這種方式

@input()appAvatarColor:字符串;