将数组绑定到角度1.5组件的父级

时间:2016-11-08 03:16:51

标签: javascript html angularjs angularjs-directive angular-components

我遇到了在子组件上实现双向绑定的问题。所以我的目标是当数组获取/删除新对象时,父组件上的数组也会反映该更改。以下是一些更详细的代码。

父组件控制器:

export class ParentController {
    selectedItems = [];
}

父组件html:

<list-selector selectedItems="$ctrl.selectedItems"></list-selector>

子组件:

export var listSelectorComponent: IComponentOptions = {
    bindings: {
        selectedItems: "="
    },
    controller: childController
};

子控制器:

export class listSelectorController {

    selectedItems = [];

    addToSelectedItems(){
        this.selectedItems.push({name:'First Item'});
    }
}

这是我得到的错误。我很确定它与绑定有关,但我不确定是什么问题。任何建议将不胜感激!

Error: [$compile:nonassign] Expression 'undefined' in attribute 'selectedItems' used with directive 'listSelector' is non-assignable!

1 个答案:

答案 0 :(得分:2)

您的问题确实存在于您的绑定中。 只需将您的父组件html更改为:

<list-selector selected-items="$ctrl.selectedItems"></list-selector>

你很高兴去。 请注意,html标记属性必须为like-this,而绑定属性必须始终为camelcase likeThis