AngularJS - 子组件不更新父组件数据

时间:2018-06-08 15:51:47

标签: angularjs components

我正在使用AngularJS 1.5.3编写应用程序

我有一个父组件,其中包含一些需要在子组件中更新的数据。现在,即使子项上的输入框看起来正在更新,数据也不会在父组件中更新。

这是我的小提琴: https://jsfiddle.net/aubz88/ab85L19c/

以下是一些示例代码:

var grandChildComponent = {
  bindings: {
    min: '<',
    max: '<'
  },
    template: `
    <div>
      Grand Child component
      <input ng-model="$ctrl.min" />
      <input ng-model="$ctrl.max" />
    </div>
  `
};

1 个答案:

答案 0 :(得分:2)

那是因为您使用的是单向绑定(Reference docs herehelpful article here)。

如果您希望数据更新从父到子和从子到父,那么您需要使用符号=进行双向数据绑定。

这里是working JSFiddle

E.g。

var grandChildComponent = {
    bindings: {
        min: '=',
        max: '='
    },
    template: `
        <div>
            Grand Child component
            <input ng-model="$ctrl.min" />
            <input ng-model="$ctrl.max" />
        </div>
    `
};