<p>我想你是在找这个:
<a href="https://github.com/angular/angular.js/wiki/When-to-use-$scope.$apply()" rel="nofollow">reference</a></p>
<blockquote>
<p>AngularJS provides wrappers for common native JS async behaviors:</p>
<p>Events => ng-click <br/>
Timeouts => $timeout <br/> <strong>jQuery.ajax() => $http</strong></p>
</blockquote>
<p>只需执行如下操作:<br/><code>$scope.$apply()</code>当您完成更新<code>$scope</code>。<br/>ps:也适用于<code>$rootscope</code>。在</p>
<p><strong>编辑:</strong></p>
<p>防止在调用<code>$scope.$apply()</code>时发生错误<code>$digest</code></p>
<p>您可以通过检查<code>$digest</code>来检查<code>$digest</code>是否已经在进行中。在</p>
<pre><code>if(!$scope.$$phase) {
//$digest or $apply
}
</code></pre>
<p>如果正在进行<code>$digest</code>或{<cd10>},则<code>$scope.$$phase</code>将返回“$digest”或“$apply”。在</p>
<ul>
<li><code>$$phase</code>对框架是私有的,这是有充分理由的。在</li>
<li><p><code>$scope.$apply(callback)</code>调用<code>$rootScope.$digest</code>,这意味着它将重新表示应用程序的根作用域及其所有子级,即使您在一个独立的作用域内。</p></li>
<li><p><code>$scope.$digest()</code>将简单地将其模型与视图同步,但不会消化其父作用域,这可以在使用独立作用域(主要来自指令)处理HTML的独立部分时节省大量性能。<code>$digest</code>不接受回调:执行代码,然后进行摘要。</p></li>
</ul>
<p><strong>编辑:</strong>
每次更新<code>$scope</code>或变量时都可以调用此函数:</p>
^{pr2}$