我在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>
过滤器无法正常工作。我该如何使过滤器工作?
答案 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
如果有的话请告诉我