2013-07-05 33 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'请求(通常在指令)。 –

相关问题