2015-11-05 86 views
0

Angularjs文檔(https://docs.angularjs.org/api/ng/filter/filter)有一個非常明顯的例子如何結合使用它們的篩選與比較,這樣你可以通過設置做到精確匹配:真正在過濾器anguarjs過濾精確匹配除了自由文本搜索

ng-repeat="task in tasks | filter:search:true 

問題是我搜索搜索對象(按照他們的例子),其中一個搜索過濾器是一個自由文本搜索。 我怎樣才能得到嚴格的搜索適用於我的其他搜索過濾器,但不適用於我的自由文本搜索。

所以要堅持自己的榜樣。查看以下

<label>Any: <input ng-model="search.$"></label> <br> 
<label>Name only <input ng-model="search.name"></label><br> 
<label>Phone only <input ng-model="search.phone"></label><br> 

我怎樣才能得到嚴格篩選適用於search.name和search.phone但不搜索$

注:在我的代碼我沒有search.name和搜索.phone作爲文本輸入,而是作爲下拉選擇,這就是爲什麼我希望他們是嚴格的。

請告知 感謝

回答

1
  • 申請幾個過濾器:在任務

    NG重複=「任務|過濾器:{ '$':$搜索} |過濾器:{ '電話' :search.phone}:真|過濾器:{ '名':search.phone}:真

  • 讓自己的過濾器:

    NG重複=「任務,任務| myfilter:搜索 app.filter('myfilter')

+0

太好了。不知道你可以像那樣連鎖他們。是否有語法可以這樣說: ng-repeat =「任務中的任務|過濾器:{'$':search。$} | filter :: true 因此,它將對$進行非嚴格的操作,否則沒有列出他們? – Gotts