我有一个ng-repeat
,它重复无序列表。该列表中的每个项目都有一个按钮,用于调用 AngularJS 函数将该项目添加到另一个列表中。问题在于传递给函数的项是通过引用传递的。这意味着,如果我更新该函数中的属性,那么该对象就会在我的网站中的所有位置更新。
我的问题示例: http://jsfiddle.net/XyUGE/156/
您会看到左侧列表也已更新。但我只想更新传递给函数的对象!所以,我只想查看第二个列表中的更改。
如何解决这个问题?
最佳答案
在 JavaScript 中,一切都是按值传递的。您只是修改引用指向的对象。
您可以使用angular.copy
来创建一个复制了顶级引用的新对象。
我添加了
obj = angular.copy(obj);
关于javascript - 不要在 AngularJS 函数中通过引用传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288520/