2014-10-30 60 views
3

我創建了兩個自定義過濾器,並嘗試在ng-repeat中使用這兩個自定義過濾器。AngularJS將自定義過濾器的結果傳遞給另一個自定義過濾器

如何將第一個過濾器的結果作爲第二個過濾器的輸入?

我在NG-重複試圖爲(化名),但它不工作,

<input type="text" ng-model = "ageLimit" /> 
<input type="text" ng-model = "lastSeen" /> 
<div ng-repeat = "member in lists | ageFilter:ageLimit:lists as results | LastSeenFilter:lastSeen:results"> 

錯誤消息

錯誤:[ngRepeat:badident]別名'結果| LastSeenFilter:lastSeen:results'無效---必須是不是保留名稱的有效JS標識符。 http://errors.angularjs.org/1.3.0/ngRepeat/badident?p0=results%20%7C%20LastSeenFilter%3AselectLastSeen%3Aresults

+0

只需鏈接/管道兩個過濾器就可以了,不是嗎?列表中的成員| ageFilter:ageLimit | LastSeenFilter:lastSeen' – Shomz 2014-10-30 05:29:50

+0

它不工作,鏈接工程的第一次,但當我改變PARAMS過濾它適用於以前的結果(它應用過濾器在第一次過濾設置不是整個集合) – user2874140 2014-10-30 06:32:24

回答

0

您可以在Angular中鏈接過濾器。第一個過濾器的輸出將作爲第二個過濾器的輸入,依此類推。

1

問題出在「as」。因爲我有同樣的問題,我看了ngRepeadDirective裏面,發現那裏打破了表達式的正則表達式不支持別名後的過濾器,因爲可以看到here

+0

你沒有解決它嗎?我需要第一個過濾器進行分頁(總記錄,等等),並顯示第二個過濾器。 – nhthai 2016-10-30 14:44:26

+0

不,沒有解決方案,但對於分頁是有很好的解決方案和指令,如http://brantwills.github.io/Angular-Paging/,你可以谷歌更多,分頁只是一個東西學習和它的容易 – bresleveloper 2016-10-31 08:27:47

+0

是的,我知道,只是想嘗試新的方式。我已經改變了另一種方式。謝謝! – nhthai 2016-11-03 02:00:58

相關問題