为什么angular没有safeApply?

时间:2015-05-04 08:52:47

标签: angularjs

如果用户手动应用某处$scope.$apply(),则在摘要已经运行的情况下显示错误。如果 angularjs 开发人员已经知道它,那么他们会提供类似safeApply的东西吗?

虽然我们可以创建自己的safeApply。

1 个答案:

答案 0 :(得分:3)

您应该始终知道自己是否在$digest内或不在内。因此,不需要有专门的功能。

话虽如此,$scope.$evalAsync应该处理有问题的案件。

注意,有些人会使用$scope.$$phase私有变量来检查它们是否在digest内,但这不是一个好的解决方案。对于可以通过更好的架构实现的事情来说,这是一种破解。