在阅读@Input()
和@Output()
时,我发现我们可以使用别名而不是使用装饰器的属性名称。Angular 2:什么是@ Input/@输出别名?
例
class ProductImage {
//Aliased
@Input('myProduct') product: string;
//Un-aliased
@Input() product: string;//not aliased
}
HTML
//Aliased attribute
<SomeComponent [myProduct] = "Product Name"></SomeComponent>
//Un-aliased attribute
<SomeComponent [product] = "Product Name"></SomeComponent>
官方的角度documentation说:
有时候,我们希望输入/输出特性的公用名称是differen t来自内部名称。 属性指令通常是这种情况。指令消费者希望绑定到指令的名称。例如,当我们将带有myClick选择器的指令应用于标记时,我们希望绑定到也称为myClick的事件属性。
而且This教程简要介绍了它:
别名让我重写属性名称是别名,而不是原来的属性名
比,我还没有去过其他能够在SO上或通过Google找到别名为@Input()
和@Output()
的其他内容。
事情我想知道是:
- 什么是 '走样' 试图实现?
- “别名”是我们应该经常使用的东西吗?
这取决于你和你的团队风格约定 –
如果你的私人财产绑定输入,最好遵循ts styleguiders和前缀名称与下划线,例如。 @Input('heroName') private _heroName –