如何解决$ scope$ apply有什么作用?
$ apply()用于从角度框架外部以角度执行表达式。(例如,来自浏览器DOM事件,setTimeout,XHR或第三方库)。因为我们正在调用角度框架,所以我们需要执行异常处理的适当范围生命周期,并执行监视。
该文档还提供了它的伪代码:
function $apply(expr) {
try {
return $eval(expr);
} catch (e) {
$exceptionHandler(e);
} finally {
$root.$digest();
}
}
简而言之,$apply
对表达式求值并触发摘要循环,从而使Angular执行所有已注册的手表侦听器并更新任何视图绑定。
最后,您说过您一直在$apply
更新模型的绑定,但这仅在更新来自Angular外部时才需要。在大多数情况下,您无需手动调用它。
解决方法
$scope.$apply()
当我通过Angular应用中的websocket接收数据时,我一直在使用它来更新模型的绑定。但是它实际上是做什么的,为什么需要调用它才能完成更新?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。