Angular 2应用程序中组件的“inputs”属性的原因是什么?

问题描述:

来自文档,Angular 2应用程序中组件的“inputs”属性的原因是什么?

'输入声明确保我们的指令的使用者只能绑定到我们的公共API的属性......没有别的。

https://angular.io/docs/ts/latest/guide/attribute-directives.html#!#why-input

这不是超清晰。我不太确定为什么我们需要定义这一点。有人可以解释吗?

@Input() someInput;(或@Component({inputs: ['someInput']}))创建自定义元素的属性可以绑定到喜欢

<my-component [someInput]="someField"></my-component> 

没有@Input()将不会被允许的结合和加载角时,你会得到一个错误信息应用。

还有其他方面的原因声明方式:

  • 应该允许工具来获得有关你的组件元信息
    • 的语法检查
    • 自动完成
  • Angular2使用这个元信息来生成绑定绑定的代码
    • 例如ngOnChanges()在对输入的绑定发生更改时调用。
+1

关于元数据的一些信息解释了为什么绑定是必要的 –