如何只更新ng repeat中的部分元素
How to only update some part of elements in ng-repeat?
我在一个表中使用ng repeat,我想使用post方法从服务器获取数据,并更新vararry和angularjs将更新;然而,文本输入也已更新,但我不想更新文本。我该怎么办?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html ng-app="app">
<head>
<script src="js/angular.js"></script>
</head>
<body ng-controller="formController">
<table border='1' cellpadding=2 cellspacing=2>
<tr ng-repeat="a in array.Ip">
<td>{{a.name}}</td>
<td>{{a.price}}</td>
<td>{{a.count}}</td>
<td><input type="text"></td>//This should not be updated!
<td><button>Add</button></td>
</tr>
</table>
</body>
</html>
<script>
var app = angular.module('app', []);
app.controller('formController', function($scope) {
$scope.array = {
TotalFinished : '12',
TotalUnFinished : '13',
Cpu : '14',
Memory :'15',
Ip : [{
name : 'AAA',
price : '20',
count : '2'
}, {
name : 'BBB',
price : '50',
count : '1'
}]
};
setInterval(function(){
$scope.$apply(updatedata);
},1000);
var updatedata = function(){
$scope.array ={
TotalFinished : '14',
TotalUnFinished : '13',
Cpu : '14',
Memory :'15',
Ip : [{
name : 'CCC',
price : '20',
count : '2'
}, {
name : 'DDDD',
price : '50',
count : '1'
}]
}; // 表格数据
};
});
</script>
您可以在文本框中使用模型值。
<tr ng-repeat="a in array.Ip">
<td>{{a.name}}</td>
<td>{{a.price}}</td>
<td>{{a.count}}</td>
<td><input type="text" ng-model='a.value'></td>
<td><button>Add</button></td>
</tr>
在您的控制器中,向Ip阵列添加值属性
for(var i=0;i<$scope.array.Ip;i++){
$scope.array.Ip[i].value = '';
}
这样,文本框中的任何更改都会被angular$watch函数跟踪。当数组值在ng重复中发生变化时,文本框中的值将从您创建的新范围变量中获取。
它没有按照以前的方式工作的原因是,ng repeat是一个指令,当数组的作用域值发生变化时,它会重新渲染整个<td>
面板,如果没有为文本框分配作用域值,它将在没有任何值的情况下进行渲染。
希望这能有所帮助。
相关文章:
- 使用 ng-repeat访问 ng 表单元素/值
- AngularJS:根据其他对象预先选择ng repeat中的select元素
- Angular js将只显示ng repeat中的第一个元素
- 带有 ng-repeat 的 Angular JS 指令无法遍历子元素
- $compile和ng repeat未返回正确的元素
- 使用ng repeat时元素ID重复
- 验证嵌套在ng中的输入元素repeat也用于页面加载,而不仅仅用于更改
- AngularJS:如何使用ng repeat来显示父数组中包含的数组的所有元素
- 如何使用ng repeat在匹配的元素上添加活动类
- 使用ng repeat将表单元素绑定到角度中的新对象
- 如何只更新ng repeat中的部分元素
- 操作NG-REPEAT的第一个元素
- 在 aurelia 中使用 repeat.for 绑定自定义元素的正确方法是什么
- AgularJS ng-repeat而不重复父元素
- 如何使用 ng-repeat $index 在数组中查找元素
- 获取 ng-init 和 ng-repeat 中的元素
- AngularJS不编译具有ng-repeat的元素
- 添加重复键对象时如何更新 ng-repeat 列表中的元素
- 获取ng中的html元素repeat angular js
- 如何通过$index值来获取ng中的元素repeat