我有一個搜索框,使用string.split(' ')
將一系列用空格分隔的術語拆分爲一個數組。有沒有辦法從該數組中應用任意且可能大量的過濾器?AngularJS通過任意數量的過濾器進行過濾
1
A
回答
4
到薩德相似,但實際上創建自定義過濾器模塊,而不是搞亂了控制器。這是它如何爲我工作:
<input type="text" ng-model="query">
<li ng-repeat="object in objects | filterFunction:query"> {{object.state}}
.filter('filterFunction', function() {
return function (objects, query) {
// objects is the array being filtered
// query is the value you passed in
array = query.split(' ');
for (var i = 0, len = objects.length; i < len; i++) {
// filter the crap out of these objects
}
}
});
+0
這工作完美。謝謝。 –
+0
對。祝你好運我的男人。 –
0
我認爲這是在那裏你會需要使用斷言函數過濾器而不是一個字符串過濾器的...
這樣的(僞):
<!--html-->
<ul>
<li ng-repeat="object in objects | filter:filterFunction">
{{object.description}}
</li>
</ul>
<!-- controller -->
$scope.objects = [ your data here ];
$scope.filterFunction = function(searchVal) {
// write code that returns true or false depending
// on whether or not after you split searchVal any
// of the elements are in your data
}
我沒有試過,但這是文檔如何做到的。
-Thad
0
大的多在這裏進行過濾:
https://gist.github.com/i8ramin/5825377
角JS過濾器的行爲很像內置的過濾器之一,但您可以與多個值過濾,空間分開。例如「大橙圓」
相關問題
- 1. AngularJS通過獨特的屬性值進行過濾,並且過濾的數量
- 2. 選擇任意維度進行過濾?
- 3. angularjs過濾器沒有過濾multipe過濾器的值
- 4. angularJS - 通過鍵過濾JSON
- 5. Angularjs通過過濾器得到indexOf
- 6. 過濾通過一些過濾器Mongoid
- 7. AngularJS通過對象原型函數進行過濾
- 8. AngularJs NG重複過濾通過數據
- 9. AngularJS通過數組過濾ng-repeat
- 10. 過濾器在angularjs
- 11. AngularJS limitTo過濾器
- 12. Angularjs過濾器Json數據
- 13. 過濾行通過標準的變量
- 14. angularjs如何使用多個其他過濾器對整數進行過濾?
- 15. SQL Server分析器沒有通過TextData列過濾器進行過濾
- 16. 在Django中通過表進行過濾
- 17. 通過Powershell從selectnodes進行過濾
- 18. JAVA-通過鏈表進行過濾
- 19. 過濾器過於激進
- 20. 通過URL可執行的過濾器?
- 21. 過濾器的UltraGrid通過行狀態
- 22. 過濾器和過濾器
- 23. 使用意圖過濾器進行進程間通信
- 24. 通過過濾
- 25. 通過過濾
- 26. 通過過濾
- 27. 過濾通過
- 28. 通過使用自定義過濾器嵌套ng重複進行過濾
- 29. Angularjs通過infoWindow動態設置過濾器變量
- 30. ElasticSearch通過elasticutils過濾器
所以數組將定義應用哪些過濾器?你能否嘗試提供更多的細節?也許你正在努力工作的一個例子?你有沒有嘗試過任何東西? –
如果我有一個「john jacob california」的搜索查詢,我想把這個字符串拆分成一個包含「john」,「jacob」和「california」的數組。我想讓數組中的每一項都成爲一個過濾器。但我不能保證每次只有三個條款,可能會有任何數量的條款,我希望能夠支持這些條款。我已經定義了10個過濾器,分割填滿了,但它不像我想的那樣動態或可擴展。 –