ui-router中的事件顺序

时间:2015-01-27 19:38:40

标签: angularjs angular-ui-router

当我在ui-router中测试事件的顺序时,我期待$stateChangeSuccess将在$viewContentLoaded之后,但它不是,如下面的屏幕截图所示:

Order of events for ui-router

如果我通过templateUrl属性远程加载视图,则可能需要一段时间才能加载(取决于网络连接)。我通过观察stateChangeSuccess / Error事件来显示我的加载指示器,并且我不希望加载指示器在视图尚未加载时过早停止。我想我会看$viewContentLoaded事件,但我希望与我的手表保持一致(stateChangeStart / Success)等。我想知道stateChangeSuccess是否实际等到视图内容加载后?

1 个答案:

答案 0 :(得分:0)

它始终按此顺序加载。

我刚刚在一个解决方案和templateProvider(延迟视图)中加了一个延迟来测试它,在这两种情况下,事件的顺序是相同的。

另外,当我在templateProvider中延迟视图加载时,$ stateChangeSuccess在加载视图之前没有触发(解析中没有任何内容可以延迟它)。因此,$ stateChangeSuccess在加载视图之前不会触发。