2013-07-05 32 views
6

我需要調用$ scope。$ apply當我使用$ http進行ajax調用時?

看起來不需要,因爲我的代碼仍然有效,而且當我使用JQuery ajax時,我需要調用apply或它沒有工作。

所以,爲了完全確定,我現在可以跳過應用電話了嗎?

回答

3

對於AngularJS版本1.1.x,如果觸發$http呼叫超出AngularJS $digest週期,您將需要添加Scope.$apply

此處詳細解釋:https://stackoverflow.com/a/17271385/1418796

+0

什麼情況下會觸發正常角度週期外的$ http?只有超時和ajax不是由$ timeout或$ http觸發的? –

+0

@RogerAlsing是的那些是主要的時代。如果你正在使用超時,可考慮使用[$ timeout](http://docs.angularjs.org/api/ng.$timeout) –

+0

@RogerAlsing也可以從常規DOM事件處理程序觸發的所有'$ http'請求(通常在指令)。 –

相關問題