如何防止变化影响多个模型angularjs?

时间:2014-09-04 08:59:12

标签: jquery angularjs angularjs-scope

    namespace.aaa=response;
    namespace.bbb=response;

响应是来自服务的数据。我只是将它们分配给两个模型(aaa,bbb)。然后将模型( namespace.aaa )分配给网格。如果我在网格中进行了更改,则显然会影响模型( namespace.aaa )。没事。但它也会影响另一个模型( namespace.bbb )。

应该怎样防止这种情况?我需要两种型号。无法重复服务以逐个将数据分配给模型。

2 个答案:

答案 0 :(得分:1)

您应该使用angular.copy();

创建回复的副本

为对象赋值时,在JavaScript中有两种类型的赋值:按值分配和按引用分配。字符串,数字,布尔值按值分配,其他对象按引用分配,因此代码中namespace.aaanamespace.bbb都指向原始response对象,并且当您指定namespace.aaa时1}}到网格,它也指向原始response。因此,请使用angular.copy();进行其中一项作业。

有关angular.copy() - https://docs.angularjs.org/api/ng/function/angular.copy

的更多信息

有关JS中值分配的更多信息 - http://docstore.mik.ua/orelly/webprog/jscript/ch11_02.htm

答案 1 :(得分:0)

也许尝试将angular.copy();用于" bbb"模型 - https://docs.angularjs.org/api/ng/function/angular.copy