我有使用$ http.get()方法得到的數據的角度控制器。我將響應數據分配給$ scope.foo和$ scope.bar。
然後,我使用ng-model =「foo」將$ scope.foo綁定到輸入字段,然後使用ng-click =「buttonClick()」將一個$ scope函數綁定到一個按鈕。
當我改變輸入字段的值,然後選擇按鈕,$ scope.buttonClick同時輸出$ scope.foo和$ scope.bar他們似乎符合新輸入的值。這很奇怪,因爲我只綁定了$ scope.foo。爲什麼會發生這種情況,我該如何解決?
控制器:
angular.module('app')
.controller('controller', ($scope, $http) => {
$document.ready(() => {
$http.get('/data').then((res) => {
$scope.foo = res.data;
$scope.bar = res.data;
});
$scope.buttonClick =() => console.log($scope.foo, $scope.bar);
});
});
(使用ES6語法) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
可能的重複[爲什麼以及何時使用angular.copy? (深層副本)(http://stackoverflow.com/questions/33043850/why-and-when-to-use-angular-copy-deep-copy) – georgeawg