我有一个包含对象的数组。每个对象都有一个布尔变量(array [i] .check)。我想使用AngluarJS创建一个表,通过单击一个复选框,它直接更改我的数组中特定对象的布尔值。我使用:
<table>
<tr data-ng-repeat="a in array">
<td style="width:200px;"> {{a.name}}</td>
<td><input type="checkbox" ng-model="a.check" ng-checked="a.check"></td>
</tr>
</table>
但是每个布尔值的值始终为false。我做错了什么?
答案 0 :(得分:1)
你能尝试这种单独使用ng-model
的方法,我已经创建了一个工作方法的小提琴,应用这个代码,然后与问题分享,我会为你解决它!
var app = angular.module('myApp', []);
app.controller('MyController', function MyController($scope) {
$scope.array = [{id:1, name: "test1", changeThisValue: false},{id:2, name: "test2", changeThisValue: true},{id:3, name: "test3", changeThisValue: true},{id:4, name: "test4", changeThisValue: true},{id:5, name: "test5", changeThisValue: true}];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller='MyController' ng-app="myApp">
<table>
<tr data-ng-repeat="a in array">
<td style="width:200px;"> {{a.name}}</td>
<td>
<input type="checkbox" ng-model="a.changeThisValue">
</td>
</tr>
</table>
<pre style="width:100px;white-space: pre-wrap;">{{array}}</pre>
</div>
&#13;