创建新对象是否取消绑定我的变量?

时间:2017-04-18 15:03:48

标签: javascript angularjs angularjs-directive

所以我在角度应用程序中创建了这个组件,并且我绑定了一个对象:

Component.js

angular.module("app").component( "component", {
    controller: function() {
        var ctrl = this;
        ctrl.createInstance = function() {
            ctrl.binding = new Object();
        }
    },
    bindings: {
        binding: "="
    },
    templateUrl: "component.html"
});

App.html

<div ng-repeat="item in Object.items">
    <component binding="item"></component>
</div>

如果我要在我的组件中执行createInstance(),它会取消绑定对象吗? 如果是这样,在创建对象的新实例时如何保持绑定?

1 个答案:

答案 0 :(得分:0)

经过一番摆弄后,我发现它确实改变了对象的引用。解决方法是使用angular.copy()

ctrl.createInstance = function() {
    angular.copy(ctrl.binding, new Object());
}