Я хочу фильтровать массив в контроллере, но он ничего не возвращает.
Это мой контроллер:
.controller('cardsCtrl', function($scope, $sce, LearnCard, Category, $ionicModal, $stateParams, $filter) {
console.log("stateParam: " + $stateParams.catId);
// Get all LearnCards
$scope.learnCardsAll = LearnCard.query();
console.log("Before filtering");
console.log($scope.learnCardsAll); // is populated
$scope.learnCards = $filter('filter')($scope.learnCardsAll, { category: 1 });
learnCardsAll заполняется так, как должно.
Это структура элементов: Журнал консоли
Может, кто-то может мне помочь?
Метод .query
является асинхронным и выполняет обратный вызов.
Попробуйте сделать свою фильтрацию внутри него.
LearnCard.query(function(cards) {
$scope.learnCards = $filter('filter')(cards, { category: 1 });
});
$scope.learnCardsAll
заполнен, то$scope.learnCards = _.filter($scope.learnCardsAll, {category: 1});
должно сработать;