http://plnkr.co/edit/iHSIyuQ0SF61m1VCgdKj?p=preview
var app = angular.module('test-app', []);
app.controller('test-ctrl', function ($scope, $http) {
testing();
function testing() {
$http.get('data.txt')
.success(function (data) {
var test1 = data;
var test2 = data;
test2.id = 5;
console.log(test1.id);
console.log(test2.id);
$scope.test1 = test1
$scope.test2 = test2
})
.error(function () {})
};
});
双方都回归“5”为什么?我需要新数据和原始快照。
答案 0 :(得分:2)
因为test1
和test2
在内存中引用相同的对象。如果您需要不同的独立副本clone the object:
.success(function(data){
var test1 = angular.copy(data);
var test2 = angular.copy(data);