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()
在对输入的绑定发生更改时调用。
- 例如
关于元数据的一些信息解释了为什么绑定是必要的 –