简体   繁体   English

使用AngularJS过滤Firebase数据

[英]Filter Firebase data using AngularJS

i have a data in firebase like this: 我在firebase中有这样的数据:

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. 使用orderByPriority将Firebase对象转换为数组。

<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 我认为firebase作为对象返回,而angular的过滤器将仅过滤数组而不过滤对象

You can create custom filter and filter. 您可以创建自定义过滤器和过滤器。 I have created example for that using firebase object 我已经使用firebase对象创建了示例

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

Please let me know if anything 如果有的话请告诉我

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM