使用AngularJS过滤Firebase数据

时间:2014-03-02 16:53:38

标签: javascript angularjs firebase angularfire

我在firebase中有这样的数据:

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

在我的控制器中:

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

我的观点:

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

过滤器无法正常工作。我该如何使过滤器工作?

2 个答案:

答案 0 :(得分:10)

使用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>

答案 1 :(得分:2)

我认为firebase作为对象返回,而angular的过滤器将仅过滤数组而不过滤对象

您可以创建自定义过滤器和过滤器。我已经使用firebase对象

创建了示例

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

如果有的话请告诉我