2013-04-23 48 views
0

我可以找到大量有關如何創建自定義過濾器並使用它過濾一組數據的示例。 但是,我找不到任何有關如何使用過濾器使用後端服務進行過濾的示例。例如:angularjs:使用自定義過濾器和服務

<input type="text" ng-model="query" /> 

<table id="searchTextResults">  
    <tr ng-repeat="item in items | filter:query"> 
     results go here 
    </tr> 
</table> 

相反過濾現有項目,在輸入打字應該從服務器獲取結果的服務的調用。在這種情況下使用過濾器有意義嗎?或者我應該保持控制器中的邏輯?

+1

如果您預先加載所有資源並在客戶端執行過濾,但是如果您想從每個服務器上獲得結果,那麼最好在控制器和後端中構建邏輯 – 2013-04-23 09:39:23

+0

好吧,您確認我的想法然後。謝謝 – Sam 2013-04-23 09:55:13

回答

3

過濾器在這種情況下表現得非常糟糕,因爲過濾器是作爲每個$ digest循環的一部分執行的。在實踐中,它意味着給定的過濾器至少每個$ digest循環執行兩次,所以你將有大量的請求到後端。

在過濾器之上不能真正可靠地從服務器獲取數據,因爲過濾器同步執行,而後端調用是異步。

總之 - 遠離觸發後端呼叫的過濾器。

+0

好的,謝謝你的建議! – Sam 2013-04-23 10:58:00

相關問題