namespace.aaa=response;
namespace.bbb=response;
响应是来自服务的数据。我只是将它们分配给两个模型(aaa,bbb)。然后将模型( namespace.aaa )分配给网格。如果我在网格中进行了更改,则显然会影响模型( namespace.aaa )。没事。但它也会影响另一个模型( namespace.bbb )。
应该怎样防止这种情况?我需要两种型号。无法重复服务以逐个将数据分配给模型。
答案 0 :(得分:1)
您应该使用angular.copy();
为对象赋值时,在JavaScript中有两种类型的赋值:按值分配和按引用分配。字符串,数字,布尔值按值分配,其他对象按引用分配,因此代码中namespace.aaa
和namespace.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