使用AngularJS过滤Firebase数据

jun*_*rey 6 javascript angularjs firebase angularfire

我在firebase中有这样的数据:

firebase_data {
    -JGc5X37NDuvmJylmx0s: Object {
        name: 'John Doe',
        age: 21
    }
    -JGnGJlTjyAxFT-Vn48Y: Object {
        name: 'Jane Doe',
        age: 22
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

$scope.firebase = $firebase(new Firebase("https://firebase_data.firebaseio.com"));
Run Code Online (Sandbox Code Playgroud)

我的看法:

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

过滤器无法正常工作.我怎样才能使过滤器工作?

Kat*_*ato 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>
Run Code Online (Sandbox Code Playgroud)

  • 在最新版本中,只需使用已经提供排序值的`$ asArray`. (2认同)