Я пытаюсь отфильтровать результаты по его позиции.orderBy: notarray Ожидаемый массив, но полученный: Object
Но как только заказ будет нарушен, так как результат не является массивом. Как я могу это изменить? Я застрял в этом.
Я делаю это так:
<div ng-repeat="cat in content | orderBy : 'pos'" class="animated zoomIn">
и контроллер:
firebase.database().ref("v3/standalonelist/" + catId.toLowerCase()).on('value', function(snapshot) {
$timeout(function() {
$scope.content = snapshot.val();
console.log($scope.content);
})
});
$ scope.content возвращает этот объект:
{
"Bar One" : {
"bgurl" : "https://domain.com/aa/bars/list/bar.jpg",
"name" : "Bar One",
"subtitle" : "Cheers",
"pos", 2
},
"Bar Two" : {
"bgurl" : "https://domain.com/aa/bars/list/bar.jpg",
"name" : "Bar Two",
"subtitle" : "Cheers",
"pos", 1
}
}
И я получаю эту ошибку:
[orderBy:notarray] Expected array but received: [THE OBJECT ABOVE]
Ошибка верно, это объект, который оберните другие объекты. Ваш контент должен быть таким: $ scope.content = [ { "bgurl": "https://domain.com/aa/bars/list/bar.jpg", "name": "Bar One", "субтитры": "Ура", "поз", 2 }, { "bgurl": "https://domain.com/aa/bars/list/bar.jpg", "название" : «Bar Two», «подзаголовок»: «Cheers», «pos», 1 } ] – oguzhan00