嵌套的 ng-repeat 不会更新对象
Nested ng-repeat doesn't update object
我需要向用户预设NxN矩阵输入。 因此,我在表对象上使用嵌套的 ng-repeat 来创建输入。 尽管它最初成功填充,但它不会更新对象。
.HTML
<div ng-app="myApp" ng-controller="VibrationCtrl">
<table>
<tr ng-repeat="Row in Mi">
<td ng-repeat="I in Row track by $index">
<input type="text" ng-model="I">
</td>
</tr>
</table>
{{Mi}}
</div>
.JS
var myApp = angular.module('myApp', []);
function VibrationCtrl($scope) {
$scope.Mi = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
}
myApp.controller('VibrationCtrl', VibrationCtrl);
JsFiddle:
https://jsfiddle.net/wLhucx8b/2/
ng-model
需要引用对象(数组)的实际部分,而不仅仅是值。
ng-model="Row[$index]"
https://jsfiddle.net/wLhucx8b/4/
否则,它不会更新实际对象的引用。假设您正在循环访问一个数组,并且您只是修改值,而不是数组中的引用:
collection.forEach(function (value, index) {
value = '123'; // this won't actually change the original array
collection[index] = '123' // this WILL
});
^ ng-repeat
ng-model
其中一个值的行为方式相同。
注意:使用<input type="number" ... />
否则您的ng-model
值将变成字符串!
更改
<input type="text" ng-model="I">
自
<input type="text" ng-model="Row[$index]">
分叉你的 JSFiddle
相关文章:
- 如何在 Firebase 的 Angular-Fire 中使用 $save() 来更新对象属性值
- Expressjs&集合中的MongoDB更新对象's数组
- Physijs更新对象质量
- 如何使用setAttribute更新对象中的一个值
- 在分析中创建或更新对象
- 从knockout.js中的下拉列表更新对象
- Grails richui自动完成将对象传递给函数或更新对象ID
- 我正在使用 $scope.$apply 在 http 调用后更新对象数组.谁能告诉我正确的方法
- 如何使用 AngularJS 根据选择更改更新对象数组
- 从新对象的属性更新对象的属性,但前提是新对象上的属性不是未定义的
- 角度.js从NG重复更新对象数据
- 删除 JavaScript 中的重复代码;更新对象传递到函数中
- javascript:通过递增 objectKeys 值来更新对象
- 根据输入更新对象数组
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 流星:如果值等于 X,则更新对象 1,否则更新对象 2
- 如何在 Javascript 中更新对象数组中每个对象的值
- 嵌套的 ng-repeat 不会更新对象
- 使用从 MongoDB 获取的新数据更新对象属性
- 按 $parent.$index 和$index更新对象$scope项