2016-09-22 2 views
0

У меня есть выбор категорий, которые возвращаются после выбора правильно на вид Html с помощью {{кошка}} ​​будет отображать Comics, если Comics был выбран из спискаУгловой встроенный «боковой контроллер» Фильтр

$scope.selectCategory = function (newCategory) { 
     console.log(newCategory); 
     $scope.cat = newCategory; 
     selectedCategory = newCategory; 
     $scope.selectedPage = 1; 
    } 

Однако я хочу, чтобы фильтровать массив объектов этой категории контроллер стороны не с помощью обычных встроенных фильтров в представлении, который я хорошо осведомлен о

Если я вручную добавить категорию в приведенном ниже примере Comics

$scope.edition_products = $filter('filter') 
($scope.filteredItems, {approved: true, category: "Comics"}); 

Только категории Комиксы, которые одобрены верно возвращаются так работает фильтр

Но Как сделать его динамичным, вводя, вставит $ scope.cat

например

$scope.edition_products = $filter('filter') 
($scope.filteredItems, {approved: true, [$scope.cat]} 

нота это не работает

ответ

1

фильтра в контроллере автоматически не сработает. Вы должны запустить фильтр каждый раз, когда вы выбираете категорию, поэтому в вашей selectCategory функции вы должны повторно запустить фильтр

Такие, как

$scope.selectCategory = function (newCategory) { 
    console.log(newCategory); 
    $scope.cat = newCategory; 
    selectedCategory = newCategory; 
    $scope.selectedPage = 1; 
    $scope.edition_products = $filter('filter')($scope.filteredItems {approved: true, category: $scope.cat}); 
} 

Это будет фильтровать данные каждый раз, когда вы изменяете категория.

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