【发布时间】:2016-10-29 11:19:06
【问题描述】:
我从 api 获取 ajax 数据并将其保存到变量中。我必须对这些数据进行“编辑和保存”或“编辑和取消”更改。我正在使用 ng-model 来显示和编辑这些数据。
这是我的脚本:
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 路数据绑定是否会更改连接相同 ajax 数据的所有变量?
【问题讨论】:
标签: html angularjs ajax angularjs-ng-model 2-way-object-databinding