Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建新对象是否会解除变量的绑定?_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 创建新对象是否会解除变量的绑定?

Javascript 创建新对象是否会解除变量的绑定?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,所以我在angular应用程序中创建这个组件并绑定一个对象: Component.js App.html 如果我在我的组件中执行createInstance(),它会解除对象的绑定吗? 如果是这样,在创建对象的新实例时如何保持绑定?经过一些修改后,我发现它确实更改了对对象的引用。解决方法是使用angular.copy() 经过一些修改,我发现它确实改变了对对象的引用。解决方法是使用angular.copy() angular.module("app").component( "compone

所以我在angular应用程序中创建这个组件并绑定一个对象:

Component.js App.html

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

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


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

angular.module("app").component( "component", {
    controller: function() {
        var ctrl = this;
        ctrl.createInstance = function() {
            ctrl.binding = new Object();
        }
    },
    bindings: {
        binding: "="
    },
    templateUrl: "component.html"
});
<div ng-repeat="item in Object.items">
    <component binding="item"></component>
</div>
ctrl.createInstance = function() {
    angular.copy(ctrl.binding, new Object());
}