0
我想在我的控制器中创建一个方法,以便将来自我的控制器$ scope的不同变量设置为null。所以,我在我的控制器已经这样:
FootCreator.controller('FooController', function($scope) {
$scope.zoo = {
id: 1,
name: 'Lorem',
};
$scope.foo = {
id: 2,
title: 'bar',
};
$scope.deleteProperty = function(property) {
property = null;
};
});
而在我的HTML我这样调用它(例如): <a ng-click="deleteProperty(zoo)" class="remove icon-remove" title="Remove"></a>
当我CONSOLE.LOG()的$ scope.zoo它不是设置为空。我认为我必须做一些坏事,但找不到什么。我试图做到不要有deleteZoo(),deleteFoo()等。
感谢您的帮助/提示!
所以,如果我理解你的意思,当我NG-点击=“deleteProperty(动物园)”,然后让动物园的对象在我的控制器方法我没有实际工作$ scope.zoo,但在参考副本? – Mushr00m 2015-02-07 22:27:37
@ Mushr00m在这种情况下,'$ scope.zoo'是某个对象的_reference_,'property'也是对同一个对象的_reference_。在'property = null'这一行中,你改变'property'来引用'null'而不是那个对象。 '$ scope.zoo'将继续引用该对象。这就是JavaScript引用的工作原理。请参阅我在答案开头添加的示例。 – JLRishe 2015-02-08 00:00:05