有人知道为什么深层复制在我的情况下不起作用,浅层复制/赋值工作得很好:
vm.category = null;
$http.get("/api/category/" + vm.categoryId)
.then(function (response) {
//does not work
angular.copy(response.data, vm.category);
//works just fine
vm.category = response.data;
}, function (error) {
vm.errorMsg = "There was an error retrieving category data: " + error;
});Run Code Online (Sandbox Code Playgroud)
这种深复制方法效果很好:
vm.category = angular.copy(response.data);
Run Code Online (Sandbox Code Playgroud)
为什么:
angular.copy(response.data, vm.category);
Run Code Online (Sandbox Code Playgroud)
不起作用?