我使用ng.IComponentOptions来创建我的组件类,它保存我的控制器并查看这样的模板:
export class LCAConfiguratiePersonenDetailComponent implements ng.IComponentOptions {
public templateUrl: string;
public controller: any;
public bindings: any;
public static IID: string = 'lcaConfiguratiePersonenDetail';
constructor() {
this.templateUrl = require('./LCAConfiguratiePersonenDetail.template.html');
this.controller = LCAConfiguratiePersonenDetailComponentController;
this.bindings = {
id: '<'
};
}
}
我唯一的问题是,我不知道我可以设置什么绑定以及它们究竟做了什么。我主要关注前面的例子,并尝试一下有效的方法 有没有人对所有不同类型的绑定或我可以找到它们的地方有一个很好的解释?
我确定他们在那里,但我似乎无法使用正确的搜索字词来回答我的问题。
答案 0 :(得分:2)
因为打字稿转换为AngularJS代码,所以在查看AngularJS 1.5 component时可以找到解释。
输入应使用&lt;和@ bindings。 &lt;符号表示从1.5开始可用的单向绑定。与=的区别在于不监视组件范围中的绑定属性,这意味着如果为组件范围中的属性分配新值,则不会更新父范围。但请注意,父组件和组件范围都引用相同的对象,因此,如果要更改组件中的对象属性或数组元素,则父级仍将反映该更改。因此,一般规则应该是永远不要更改组件范围中的对象或数组属性。当输入是字符串时,可以使用@ bindings,特别是当绑定的值不改变时。
bindings: {
hero: '<',
comment: '@'
}
输出通过&amp;绑定,用作组件事件的回调。
bindings: {
onDelete: '&',
onUpdate: '&'
}