有两种方法可以在组件上定义输入:
@Component({
inputs: ['displayEntriesCount'],
...
})
export class MyTable implements OnInit {
displayEntriesCount: number;
和这个
@Component({
...
})
export class MyTable implements OnInit {
@Input() displayEntriesCount: number;
我认为第一种方法更好,因为它明确地声明组件的依赖关系,而不需要检查补充类。但是,着名开发人员this article表示第二种方法更可取:
使用@Input是首选方法,但我们不必使用它。
任何想法为什么?
答案 0 :(得分:4)
风格指南在某种程度上是首选,但没有强有力的论据。 也许是因为属性和方法与绑定一起保存。 但你的论点也是有效的。有些人喜欢那个,有些喜欢另一个。
如果您更喜欢host: ...
,请使用它。它仍然很常见。
答案 1 :(得分:3)
内联输入和输出属性
使用@Input和@Output代替输入和输出属性 @Directive和@ Component`装饰器:
将@Input()或@Output()放在与属性相同的行上 他们装饰。
为什么呢?识别类中的哪些属性是输入或输出更容易,更易读。
为什么呢?如果您需要重命名与@Input或@Output关联的属性或事件名称,则可以将其修改为一个位置。
为什么呢?附加到指令的元数据声明更短,因此更具可读性。
为什么呢?将装饰器放在同一行上可以缩短代码,并且仍然可以轻松地将属性标识为输入或输出。