Using Angular 1.5 - 能否在另一个组件的模板中包含一个组件?
Using Angular 1.5 - Can you have a component inside another component's template?
angular 1.5 的新手并试图更好地理解组件通信。想知道是否可以在另一个组件的模板中包含一个组件?如果是这样,他们如何相互交流(使用 require?)?
是的。每个组件都有输入和输出。输入是从父到子,而输出是从子到父。在这个plunker example中,实际的值增量是在父组件的controller中完成的,而值是在子组件中显示的,也就是增量按钮所在的位置。
.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: '&'
}
});
angular 1.5 的新手并试图更好地理解组件通信。想知道是否可以在另一个组件的模板中包含一个组件?如果是这样,他们如何相互交流(使用 require?)?
是的。每个组件都有输入和输出。输入是从父到子,而输出是从子到父。在这个plunker example中,实际的值增量是在父组件的controller中完成的,而值是在子组件中显示的,也就是增量按钮所在的位置。
.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: '&'
}
});