この問題を説明する最善の方法は、例です。ここを参照してください。
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 )にバインドしたいと考えています。
ご覧のとおり、追加ボタンを数回クリックしてエントリの 1 つにチェックを入れようとすると、すべてのエントリがチェックされます。これは、プロトタイプに手動で導入されたプロパティで ngModel を使用する場合にのみ発生します。