目前我正在使用$scope.$$phase来避免Error: $digest already in progress问题,但我担心它将来是否会崩溃。因为它是以"$$“为前缀的,在我看来这是angularjs的内部状态,它不应该被用户代码使用,它的行为随时可能改变(如果我错了,请纠正我)。但是我找不到其他解决这个问题的好办法,所以我被迫使用这个,但我觉得使用一些不确定未来的东西有点不舒服。
我的问题是,对于$$前缀的作用域变量(或特别是$$phase)的API稳定性,有什么政策吗?我翻遍了官方文档,到处搜索,但找不到太多关于这方面的信息。
发布于 2013-09-18 21:07:03
没有人能保证它在未来不会改变,但考虑到目前angular.js源代码的样子,这似乎是不太可能的。
无论如何,最好使用$scope.$$phase和$scope.$apply()将脚本包装在一个可重用的服务中,这样将来您就必须替换一个依赖项,而不是数百个文件。
如果你不想重新发明轮子,$scope.safeApply()是一个很好的例子:)
https://stackoverflow.com/questions/17802279
复制相似问题