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