2014-03-02 62 views
6

我有這樣在火力數據:在我的控制器過濾火力地堡數據

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

過濾器僅適用於陣列。看看這個['如何用AngularJs中的ng-repeat過濾(key,value)'](http://stackoverflow.com/questions/14788652/how-to-filter-key-value-with-ng -repeat-in-angularjs)for變通方法: –

回答

10

使用orderByPriority你的火力地堡對象轉換爲一個數組的例子。

<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> 
+0

謝謝。這個效果非常好 – junerey

+0

今天'orderByPriority'已被棄用了,對吧?我一直在嘗試使用這個,但它不起作用。 – Jobsamuel

+2

在最新版本中,只需使用'$ asArray'已經提供了排序值。 – Kato