У меня есть следующий код, в котором я пытаюсь фильтровать игроков в массиве, установив флажок для pantsize игрока.
Я знаю, что у меня есть массив данных в ретрансляторе, а затем входы фильтрации в элементе за пределами элемента массива данных (два разных div), может ли это быть причиной отключения? Поскольку я замечаю, когда добавляю флажок к элементу ретранслятора, я получаю некоторую форму массива обратной связи, когда я устанавливаю флажок.
Связывание поля ввода поиска было так просто реализовать, однако я трачу слишком много времени на получение этого простого флажка для фильтрации данных.
Итак, теперь я обращаюсь к сообществу Angular, чтобы немного помочь в фильтрации с помощью флажков, поскольку документация не очень хорошо освещает эту тему.
Вот скрипка: http://jsfiddle.net/rzgWr/1/
<div ng-controller="MyCtrl">
<div>
<div ng-repeat="pants in players | groupBy:'pants'">
<b><input type="checkbox" ng-model="query"/>{{pants}}</b>
<span>({{(players | filter:pants).length}})</span>
</div>
<div>
<ul>
<li ng-repeat="player in players | filter:query">
<p><b>{{player.name}}</b></p>
<p>{{player.shirt}} {{player.pants}}, {{player.shoes}}</p>
</li>
</ul>
</div>
</div>
function MyCtrl($scope, filterFilter) {
$scope.players = [
{name: 'Bruce Wayne', shirt: 'XXL', pants: '42', shoes: '12'},
{name: 'Wayne Gretzky', shirt: 'XL', pants: '38', shoes: '10'},
{name: 'Michael Jordan', shirt: 'M', pants: '32', shoes: '9'},
{name: 'Player Two', shirt: 'XXL', pants: '42', shoes: '12'}
];
$scope.$watch('filtered', function (newValue) {
if (angular.isArray(newValue)) {
console.log(newValue.length);
}
}, true);
}
Искренне благодарна всякая помощь/совет.
Спасибо.