使用Angular 1.5 - 你可以在另一个组件的模板中有一个组件吗?

时间:2017-08-15 22:54:05

标签: angularjs components angularjs-1.5

角度1.5的新手,试图更好地理解组件通信。想知道我是否可以在另一个组件的模板中有一个组件?如果是这样,他们如何相互沟通(使用require?)?

1 个答案:

答案 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: '&'
    }
});