是$ scope。$$阶段面向未来?

时间:2013-07-23 05:44:10

标签: angularjs angularjs-scope

目前我正在使用$ scope。$$阶段以避免Error: $digest already in progress问题,但我担心它是否有可能在未来中断。因为它以“$$”为前缀,在我的理解中这是angularjs的内部状态,它不应该被用户代码使用,并且它的行为可能随时改变(如果我错了请纠正我)。但是我找不到其他好的解决方法来解决这个问题,所以我不得不使用它,但是我觉得使用未来不确定的东西有点不舒服。

我的问题是,是否有关于$$的API稳定性的政策 - 前缀范围变量(或特别是$$阶段)?我浏览了官方文档并进行了搜索,但没有找到关于此的更多信息。

1 个答案:

答案 0 :(得分:0)

没有人可以保证它将来不会改变,但考虑到当前angular.js源的样子,似乎不太可能。

无论如何,最好使用$ scope。$ phase和$ scope。$ apply()在一个可重用的服务中包装脚本,因此将来你必须替换一个依赖项而不是数百个文件。 / p>

$scope.safeApply()是一个不错的例子,如果你不想重新发明轮子:)