在Angularjs更新型号 [英] Updating Model in Angularjs
本文介绍了在Angularjs更新型号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是plnkr: http://plnkr.co/edit/s9MwSbiZkbwBcPlHWMAq? p = preVIEW
如果我两次添加信息,最新数据是一样的,我怎么能prevent模型不能更新?
$ scope.personList = [];
$ scope.newPerson = {};
$ scope.columns = {[现场:名称},{场:'国家'}]
$ scope.gridOptions = {
enableSorting:真实,
columnDefs:$ scope.columns,
onRegisterApi:功能(gridApi){
$ scope.gridApi = gridApi;
}
}; $ scope.addPerson =功能(){ $ scope.personList.push($ scope.newPerson);} $ http.get('file.json')
.success(功能(数据){
$ scope.personList = data.records;
$ scope.gridOptions.data = data.records;
的console.log($ scope.gridOptions.data);
});
解决方案
使用制作副本 angular.copy()
这样你就不会推引用同一个对象到阵列中各一次。
$ scope.addPerson =功能(){
VAR newPerson = angular.copy($ scope.newPerson);
$ scope.newPerson = {}; //重置为明确的说法
$ scope.personList.push(newPerson);
}
Here is the plnkr : http://plnkr.co/edit/s9MwSbiZkbwBcPlHWMAq?p=preview
If I add information twice, latest data are the same, how can I prevent model from updating?
$scope.personList = [];
$scope.newPerson = {};
$scope.columns = [{ field: 'Name' }, { field: 'Country' }];
$scope.gridOptions = {
enableSorting: true,
columnDefs: $scope.columns,
onRegisterApi: function(gridApi) {
$scope.gridApi = gridApi;
}
};
$scope.addPerson = function(){
$scope.personList.push($scope.newPerson);
}
$http.get('file.json')
.success(function(data) {
$scope.personList = data.records;
$scope.gridOptions.data = data.records;
console.log($scope.gridOptions.data);
});
解决方案
Make a copy using angular.copy()
so you aren't pushing reference to the same object into the array each time.
$scope.addPerson = function(){
var newPerson= angular.copy($scope.newPerson);
$scope.newPerson ={}; // reset to clear view
$scope.personList.push(newPerson);
}
这篇关于在Angularjs更新型号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文