2015-11-09 19 views
0

什麼用角本身之外的事件時強制摘要在角的最佳方式 - 在一個jqLit​​e容器裝載圖像時,例如,我發現自己這樣做:

$img.on('load', function() { 
    $timeout(function() { // Force digest 
     $scope.isLoaded = true; 
    }); 
}); 

這是一種我發現自己使用很多的模式。然而,它感覺非常髒(就像一個黑客骯髒,唉)。但是,使用$apply()可能會觸發"digest already in progress" error。我知道我可以check for $scope.$$phase,但感覺同樣骯髒。

那麼,什麼是正確方式來儘可能快地獲取您的更改DOM?

+0

*「我發現自己使用了很多」*。理想情況下,你不應該經常使用它,所以也許你的應用程序設計可能會首先被改進。 – dfsq

+0

@dfsq是的,我知道這句話有點模糊。 「_A lot_」通常意味着每當我使用某種外部事件系統時,例如(jqLit​​e)DOM事件。如果我正在閱讀[這個答案正確](http://stackoverflow.com/a/18626099/799327),那麼這正是正確的用例。它仍然感覺,好吧,醜陋。 –

回答