api에서 아약스 데이터를 가져 와서 변수에 저장하고 있습니다. 그리고이 데이터에 대한 변경 사항을 "편집 및 저장"또는 "편집 및 취소"해야합니다. 이 데이터를 표시하고 편집하려면 ng-model을 사용하고 있습니다. 여기왜 angularjs가 다른 변수를 변경합니까?
function getData() {
$http({
method: 'POST',
url: API + '/api/Educations/UserEducations',
data: {}
}).then(function successCallback(response) {
vm.UserData = response.data;
vm.CachedUserData = response.data;
})
}
그리고 내 HTML입니다 : : 사용자가 취소 버튼을 클릭하면
<div ng-repeat="education in editEducationsCtrl.UserData">
<div>{{education.SchoolName}}</div>
<input type="text" ng-model="education.SchoolName">
<button ng-click="editEducationsCtrl.saveChanges()">Save</button>
<button ng-click="editEducationsCtrl.cancelChanges()">Cancel</button>
</div>
, 나는 HTML 캐시 된 데이터를 기록 할이
여기 내 스크립트입니다. 하지만 vm.CachedUserData 변수에 액세스하려고하면이 캐시 된 데이터가 이미 vm.UserData의 새 값으로 변경된 것을보고 있습니다 ... 어떻게? 내 코드에 함수 액세스 CachedUserData 변수가 없는지 확인했습니다. 심지어 변수 이름을 고유 한 이름으로 변경했지만 결과는 동일합니다.
첫 번째 데이터를 변수에 저장하려고합니다. 그러나 각도는 둘 다 바뀝니다. 2 way 데이터 바인딩은 동일한 아약스 데이터를 연결 한 모든 변수를 변경합니까?
감사합니다. 그러나 'vm.UserData = vm.CachedData'를 지정하면 HTML보기가 변경되지 않습니다. 이 주제에서도 저를 도울 수 있습니까? – Sam
변수 이름이 틀렸을 수도 있습니다. 'vm.CachedUserData'여야합니까? –