2016-06-07 40 views
4

我想從我的Angular JS應用程序中刪除觀察者。爲此,我使用::關鍵字來應用一次性綁定而不是觀察者。如何驗證角JS的一次綁定性能增益?

當我想使用Angular Batarang或只是普通的scope.$$watchers(我認爲它的工作方式相同)進行驗證時,我發現它們仍然算作監視器。

他們爲什麼出現在觀察者名單上?我錯過了什麼?

+0

通常'::'的工作方式與廣告完全相同。請發佈[MCVE](http://stackoverflow.com/help/mcve)。下面是一個關於觀察者數量如何被(誤)解釋的例子http://stackoverflow.com/a/32508180/3731501。 – estus

+0

@estus,我正在尋找一種方法來計算觀察者的實際數量(沒有一次性綁定的)。 –

+0

一次性觀察者是一次性的,名字就是這樣說的。它們在觸發後從觀察者列表中刪除。看到上面的例子。這是他們計算的方式,除非您身邊有錯誤,否則無需驗證Angular的工作。再一次,MCVE會提供幫助。 – estus

回答

0

我認爲由於角度綁定的性質,$ watcher仍然附加到值。但是單個綁定值不會在每個消化週期重新評估。所以使用單綁定可以提高性能。查看出色的文檔:one time binding

+0

我知道,我正在尋找一種方法來驗證它是否有效。 –

+0

我也不知道。 Upvoted你的問題 –