Подгрузка данных + фильтр по ним в AngularJS. Как перезагрузить контроллер?

Добрый день!

Подскажите, как правильно сделать подгрузку товара и фильтр по ним.
По отдельности все работает, а вместе есть проблема.

в Контроллере вывожу так:
ng-repeat='good in goods | limitTo:rowLimit | filter:searchText'


На кнопках фильтров сделано так
ng-click="searchText.priceType = 'Эконом'"

В котроллере указано
$scope.rowLimit = 5;

В приложении кнопка ПОДГРУЗИТЬ
ng-click="rowLimit = rowLimit + 2"

Проблема в том, что фильтр работает правильно, если rowLimit равен всему количеству товара. То есть, подозреваю, что он весь тогда есть в scope и фильтр работает как надо.
Но тогда на странице выводится весь товар. Мне же нужно вывести несколько позиций и подзружать по кнопке, но чтобы фильтр работал корректно.

Думал дописать в фильтр
ng-click="searchText.priceType = 'Эконом'; rowLimit = 500;",
но так не срабатывает. Видимо надо как-то перезагружать контроллер.

Подскажите, как выйти из положения?
  • Вопрос задан
  • 460 просмотров
Решения вопроса 1
Не мучайте разметку, сделайте всё в js, а для вывода используйте только ng-repeat + ng-click на элементах для фильтрации/подгрузки.
P.S.
Ваш вариант должен заработать, если конструкции filter и limit местами поменять.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы