解释此问题的最佳方法是通过示例,请参见此处:
Javascript
String.prototype.status = {active:false}
String.prototype.name = 'Testing';
var test = function($scope) {
$scope.rows = [];
$scope.add = function() {
$scope.rows.push(new String('test'));
}
}
HTML
<div ng-app>
<table ng-controller="test">
<tr><td colspan="2"><button type="button" ng-click="add()">Add</button></td></tr>
<tr ng-repeat="row in rows">
<td>{{row.name}}</td>
<td><input type="checkbox" ng-model="row.status.active"/></td>
</tr>
</table>
</div>
本质上,我想将复选框绑定到行的原型属性(在本例中为active)。
如您所见,如果您多次单击添加按钮并尝试勾选其中一个条目,则所有条目都会被勾选。这只发生在手动引入原型的属性上使用 ngModel 时。