2014-11-04 69 views
5

http://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135性能插值VS NG重複和一次性綁定

它被寫爲指令最好是使用插值比NG-重複:

的NG-重複指令是最有可能是對性能問題的最嚴重違規者,這意味着它很容易被濫用。一個 ng-repeat可能涉及$ scope對象的數組,並且這會影響$ digest循環的性能。例如,我們可以用$ interpolate提供程序來創建我們自己的導航,而不是使用ng-repeat, 來呈現我們的模板,並將其轉換爲DOM節點,而不是使用ng-repeat導出全局導航。

當使用angular 1.3時,我們可以使用ng-repeat綁定一次來獲得相同的結果。

爲此目的使用$ interpolate更好嗎?

回答

5

我建議bindonce這個如果你在< 1.3,只是在重複的部分添加bindonce旁邊的ng-repeat,改變你的ng-*指令來bo-*。它基本上和1.3的一次綁定一樣。

如果您quetion你的意思是你應該使用一個$interpolate而不是時間1.3結合,我會說去ng-repeat有一次結合,因爲沒有任何觀察家你慢下來,這是一個很大更具可讀性。即使ng-repeat仍然會創建子範圍,但如果您在這些範圍內沒有執行任何操作,則性能差異可以忽略不計。

根據經驗,如果您沒有檢查觀察者,即使有很多子範圍,您的瀏覽器中也會出現性能問題,因此$digest會成爲問題。