角度1.5的新手,试图更好地理解组件通信。想知道我是否可以在另一个组件的模板中有一个组件?如果是这样,他们如何相互沟通(使用require?)?
答案 0 :(得分:1)
是。每个组件都有输入和输出。输入是从父级到子级,而输出是从子级到父级。在此plunker example中,实际值增量在父组件的控制器中完成,但该值显示在子组件中,其中增量按钮为。
.component('parentComponent', {
template: '<child-component value="$ctrl.value" on-increment="$ctrl.increment()"></child-component>',
controller: function() {
// Init
var self = this;
self.$onInit = function() {
//
}
self.value = 7;
// Increment
self.increment = function() {
return self.value += 1;
}
},
bindings: {
//
}
})
.component('childComponent', {
template: '<h2 ng-bind="$ctrl.value"></h2><button ng-click="$ctrl.onIncrement()">Increment Value</button>',
controller: function() {},
bindings: {
value: '<',
onIncrement: '&'
}
});