Я новичок в угловом и Javascript ООП в целом. Я надеюсь построить многоразовый угловой компонент, где весь элемент управления может быть привязан к экземпляру объекта javascript. Одно странное поведение, с которым я столкнулся, - это попытка фильтрации коллекции с помощью метода javascript-объекта.Могу ли я использовать метод объекта для фильтрации ng-repeat?
У меня есть объект с методом filterVisible с подписью:
this.filterVisible = function(item)
Когда я пытаюсь использовать нг-повтор фильтрованного этого методом метода объекта:
ng-repeat="item in item1.items | filter: item1.filterVisible"
Это не кажется для работы, но если я обмотаю этот метод объекта в методе в моей области $, например:
$scope.filterVisible1 = function(item) {
return ($scope.item1.filterVisible(item));
}
и chan ge my repeat to:
ng-repeat="item in item1.items | filter: filterVisible1"
Это работает.
Это немного запутанно, поэтому я положил его в plunker. Может кто-нибудь объяснить, почему фильтр с помощью метода scope работает, но фильтр с методом объекта не работает?
Я немного смущен вашим ответом. item1 определяется в $ scope, и он имеет функцию filterVisible. Вы можете увидеть это в моем плунтере здесь: http://run.plnkr.co/plunks/VuolUr/ – infomofo
Мои извинения, я сделал дикое предположение о вашем коде. у вас ошибка JS. ответ редактируется. – allenhwkim
ahh, good catch - я новичок в js, и это все еще меня пугает. спасибо за помощь, теперь он отлично работает! – infomofo