【问题标题】:Filter Firebase data using AngularJS使用 AngularJS 过滤 Firebase 数据
【发布时间】:2014-04-03 12:57:26
【问题描述】:

我在 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>

过滤器不工作。我怎样才能使过滤器工作?

【问题讨论】:

标签: javascript angularjs firebase angularfire


【解决方案1】:

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

【讨论】:

  • 今天,orderByPriority 已被弃用,对吧?我一直在尝试使用它,但它不起作用。
  • 在最新版本中,只需使用已经提供排序值的$asArray
【解决方案2】:

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

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

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

如果有什么问题请告诉我

【讨论】:

    猜你喜欢
    • 2017-03-22
    • 1970-01-01
    • 2017-03-29
    • 2019-09-11
    • 2019-01-23
    • 2016-06-04
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    相关资源
    最近更新 更多