2016-05-23 138 views
1

我有觸點陣列, 我的對象是這樣的:過濾器不工作的NG-重複

{"active":false,"lastName":"fdg","name":"riman","table":3}.... 

我可以看到所有項目,但過濾器只是不工作,我的模板是:

<ion-header-bar class="bar-subheader item-input-inset"> 
    <label class="item-input-wrapper"> 
     <i class="icon ion-ios7-search placeholder-icon"></i> 
     <input type="search" placeholder="Search" ng-model="searchText"> 
    </label> 
    <button class="button button-clear" ng-click="searchText =''"> 
     Cancel 
    </button> 
</ion-header-bar> 
<ion-content> 
    <ul class="list item-icon-right"> 
     <li class="item row" ng-repeat="(tel, contact) in contacts | filter:searchText"> 

更新:

我的代碼是火力點:

$scope.contacts = {}; 
     $scope.data = $firebaseObject(ref); 
     $scope.data.$loaded() 
      .then(function() { 
       $scope.contacts = $scope.data.contacts; 
      }) 
+0

控制檯上的任何錯誤? – Sajal

+0

我沒有看到屬性'tel'和'contact'在你的對象中。你有這些名稱的屬性,對吧? –

+0

電話是重要的道具ID。它不在聯繫對象中。它的關鍵對象爲firebase –

回答

1

看看這個plunkr如果它可以幫助

Plunkr for filter
我已經加入類似:
<li class="item row" ng-repeat="(tel, contact) in contacts | filter:searchText"> {{contact.lastName}} </li>

+0

當我把你的代碼正在工作,但是當我試圖從firebase獲取我的數據它不工作。看到主要帖子更新 –

+0

不是100%肯定,但我看到$ scope.contacts的初始化是對象而不是數組。你認爲這會有所作爲嗎? – jsmtslch

+0

nop.same發出它的不相關。我想也許是因爲數據來自firebase ... –

0

,如果你是過濾器對象,你需要指定屬性

<li class="item row" ng-repeat="(tel, contact) in contacts | filter: {name: searchText}"> 

,你可以爲過濾器添加更多的字段

ng-repeat="(tel, contact) in contacts | filter: {name: searchText, lastName: searchText}" 
+0

nop。它不工作,你不需要指定屬性。你可以看到那個角度的例子 –

0

包裹SEARCHTEXT變量中的對象:

$scope.search = {text: ""}; 

然後引用它。基元不會沿着範圍傳播。

+0

我試圖做這樣的搜索ng-model =「data.searchText」,但它不工作 –

+0

你也改變了過濾器和清除按鈕使用'data.searchText'嗎?你可以發佈一些代碼,以便我可以更好看嗎? – tanenbring

+0

是乾淨的按鈕正在工作並清理文本。但過濾器不是。過濾器:data.searchText –

0

解決問題。 ng重複將工作,但ng過濾器不能過濾器對象有一個數組,它應該是一個對象數組。