javascript - 为什么 `@input` 装饰器优先于 `inputs:[]`

标签 javascript angular

有两种方法可以在组件上定义输入:

@Component({
    inputs: ['displayEntriesCount'],
    ...
})
export class MyTable implements OnInit {
    displayEntriesCount: number;

还有这个

@Component({
   ...
})
export class MyTable implements OnInit {
    @Input() displayEntriesCount: number;

我认为第一种方法更好,因为它显式声明了组件的依赖关系,而无需检查补充类。然而,this article著名开发人员指出,第二种方法更可取:

Using @Input is a preferred approach, however we don’t have to use it.

有什么想法吗?

最佳答案

它在某种程度上是风格指南的首选,但没有强有力的论据。 也许是因为属性和方法与绑定(bind)保持在一起。 但是你的论点也是有效的。有些人喜欢一个,有些人喜欢另一个。

如果您更喜欢 host: ... 那么就使用它吧。它仍然很常见。

关于javascript - 为什么 `@input` 装饰器优先于 `inputs:[]`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40661325/

相关文章:

JavaScript 帮助 : Simple script won't work when calling setTimeout

angular - 在 Angular 2 或 4 : Advice + Best/which way to do it 中有条件地使输入字段只读

angular - 在 Angular 5 中将数据从服务获取到 react 形式的最佳方式

javascript - 更改 tumblr.com/js 的帖子数量

javascript - 使用 "new"运算符与使用 "window"对象

javascript - Meteor:每次集合更改时如何触发命令?

angular - 在 ng2-select2 指令中绑定(bind)响应式(Reactive)表单 formControlName

angular - 从字符串动态创建 Angular 组件

javascript - typescript 中的 Angular2 过滤器

javascript - 是否具有属性 aria-hidden 和 css 可见性 :hidden get read by screen readers? 的元素