2013-05-28 3 views
3

У меня есть данные JSON, которые выводятся через директиву ng-repeat, и результаты затем фильтруются через некоторые флажки/выпадающие списки, а также некоторые настраиваемые фильтры функции в моем контроллере.AngularJS: Как ссылаться на отфильтрованные элементы ng-repeat от контроллера

Теперь я хочу добавить функцию к моему контроллеру, которая вызвана «ng-change» на некоторых флажках, которые могут ссылаться на текущий список элементов в моем «ng-repeat». Я понимаю, что могу ссылаться на эти значения из пользовательского фильтра, например $scope.filterProvider = function(item), но эта функция затем вызывается для каждого элемента в ng-repeat, который не является тем, что я хочу - я хочу, чтобы функция просто вызывалась каждый время флажок установлен/снят флажок, и мне нужна эта функция, чтобы иметь возможность ссылаться на элементы в моем ng-repeat ... это имеет смысл для кого-либо ?! И если да, то кто-нибудь знает, как я могу это сделать?

Спасибо :-)

+1

Бит головокружа тот, но, видимо, вы можете это сделать: http://stackoverflow.com/questions/11721863/angularjs-how-to-get-an-ngrepeat-filtered-result-reference – willmcc

+0

Cheers, это именно то, что я пытаюсь сделать - это работает :-) – ParkerDigital

ответ

1

Скажем, у вас есть ng-repeat="item in items", то вы можете использовать что-то вроде ng-click=thisAmazingFct(item), который будет проходить текущий элемент при вызове thisAmazingFct.

Если вы предпочитаете использовать индекс элемента в массиве предметов, использовать что-то вроде ng-click=thisAmazingFctByIndex($index) где $index автоматически устанавливается на текущий индекс элемента по угловой с ng-repeat директивой.

Смежные вопросы