2015-12-02 134 views
2

調用$ scope的用例是什麼?$ apply而不是$ applyAsync?我可能錯過了一些東西,但後者似乎是前者的一個更安全的版本,所以你不能得到消化重入。

回答

2

$scope.$apply將嘗試立即應用給定的表達式,也就是說,如果一個週期消化目前正在運行,你可能最終得到一個錯誤/異常。

$applyAsync另一方面將「計劃」在約10毫秒內應用的表達式(按照docs),以便您能夠在同一個摘要循環中排列多個表達式。

+0

你多久使用一次?我一直在Angular工作幾年,只需要在少數幾個場合強制執行。 – jKlaus

+0

@jKlaus我通常會盡量避免使用$ apply。事實上,國際海事組織強調摘要循環並不是一個好習慣,我總是重構我的代碼,以便角度自己處理範圍變化。 – taxicala

+0

如果您使用音頻庫隨時同步聲音! –

相關問題