我不明白为什么要更改副本的值,更改$ scope的值:
RowNumber
输出:
var tmpmember = $scope.registration.member;
console.log($scope.registration.member.birth);
tmpmember.birth=$filter('date')($scope.registration.member.birth,'yyyy-MM-dd');
console.log(tmpmember.birth);
console.log($scope.registration.member.birth);
有人可以向我解释一下吗?
非常感谢
答案 0 :(得分:1)
在您提供的代码中,您尚未制作该对象的副本。相反,您已创建了指向同一对象实例的第二个变量。
如果您真的希望拥有副本而不是其他参考angular.copy
,则Angular具有您可以使用的功能。 https://docs.angularjs.org/api/ng/function/angular.copy#!/
var tmpmember = angular.copy($scope.registration.member);
console.log($scope.registration.member.birth);
tmpmember.birth = $filter('date')($scope.registration.member.birth, 'yyyy-MM-dd');
console.log(tmpmember.birth);
console.log($scope.registration.member.birth);
结果:
Thu Mar 11 1954 01:00:00 GMT+0100 (CET)
261 1954-03-11
Thu Mar 11 1954 01:00:00 GMT+0100 (CET)