문제

i have a data in firebase like this:

firebase_data {
    -JGc5X37NDuvmJylmx0s: Object {
        name: 'John Doe',
        age: 21
    }
    -JGnGJlTjyAxFT-Vn48Y: Object {
        name: 'Jane Doe',
        age: 22
    }
}

in my controller:

$scope.firebase = $firebase(new Firebase("https://firebase_data.firebaseio.com"));

my view:

<input type="text" ng-model="search" />
<ul ng-repeat="(key, value) in firebase | filter:search">  
    <li><a href="{{ key }}">{{ value.name }}</a></li>
</ul>

the filter is not working. how can i make the filter work?

도움이 되었습니까?

해결책

Use orderByPriority to convert your Firebase object to an array.

<input type="text" ng-model="search" />
<ul ng-repeat="(key, value) in firebase | orderByPriority | filter:search">  
    <li><a href="{{ key }}">{{ value.name }}</a></li>
</ul>

다른 팁

I think firebase returns as object and angular's filter will filter only arrays and does not filter object

You can create custom filter and filter. I have created example for that using firebase object

http://plnkr.co/edit/tiSsswXQWgAPPv6ozqOm?p=preview

Please let me know if anything

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top