Я ищу что-то вроде этих (флажки tri-state с "родителями" ). Но использование этого решения было бы не изящным, поскольку я не буду сейчас зависеть от jQuery, и мне нужно будет вызвать $scope. $Apply, чтобы получить модель, чтобы распознать автоматически (un) check checkboxed jQuery, нажав.
Вот ошибка для angular.js, которая запрашивает ng-неопределенное значение. Но это все равно не даст мне синхронизацию со всеми детьми, что я не думаю, что должен быть частью моего контроллера.
То, что я ищу, будет примерно таким:
- Директива "ng-children-model" с синтаксисом типа:
<input type="checkbox" ng-children-model="child.isSelected for child in listelements">
. Будет вычислен список логических элементов, и если 0 выбрано → checkbox false. Если все выбрано → флажок true. Else → неопределенный. - В моем контроллере у меня было бы что-то вроде этого:
$scope.listelements = [{isSelected: true, desc: "Donkey"},{isSelected: false, desc: "Horse"}]
- Флажки будут выполнены как обычно с помощью
<tr ng-repeat="elem in listelements"><td><input type="checkbox" ng-model="elem.isSelected"></td><td>{{elem.desc}}</td></tr>
. - Как я понимаю, браузер определит, в каком состоянии будет установлен флажок неопределенного значения.