マテリアル デザイン チェックボックスのグループがあり、それらの値をコントローラーの配列にバインドしたいと考えています。
これを達成するために、この SO answerで説明されている最初の方法を使用しました。値がリストに適切に追加および削除されている間、ボックスをクリックしても「チェック済み」として表示されなくなります。私のコードは以下にあり、この codepenで問題を再現しました。
チェックボックスの HTML
<md-checkbox
ng-repeat="site in websites"
value="{{site}}"
ng-checked="selection.indexOf(site) > -1"
ng-click="toggleSelection(site)">
{{site}}
</md-checkbox>
コントローラからの JavaScript
$scope.websites = ['Facebook', 'Twitter', 'Amazon'];
$scope.selection = ['Facebook'];
$scope.toggleSelection = function toggleSelection(site) {
var idx = $scope.selection.indexOf(site);
// is currently selected
if (idx > -1) {
$scope.selection.splice(idx, 1);
}
// is newly selected
else {
$scope.selection.push(site);
}
};
});