ui-路由器中的事件顺序
Order of events in ui-router
当我测试 ui-router 中的事件顺序时,我期望 $stateChangeSuccess
会在 $viewContentLoaded
之后,但事实并非如此,如下面的屏幕截图所示:
如果我通过 templateUrl 属性 远程加载视图,加载它可能需要一些时间(取决于网络连接)。我通过观看 stateChangeSuccess/Error 事件来显示我的加载指示器,我不希望加载指示器在视图尚未加载时过早停止。我想我会观看 $viewContentLoaded
事件,但我想与我的手表 (stateChangeStart/Success) 等保持一致。我想知道 stateChangeSuccess 是否真的等到视图内容加载之后?
它始终按该顺序加载。
我只是通过在 resolve 和 templateProvider 中延迟(延迟视图)来测试它,在这两种情况下事件的顺序都是相同的。
此外,当我在 templateProvider 中延迟视图加载时,$stateChangeSuccess 直到视图加载后才触发(resolves 中没有任何内容可以延迟它)。因此,$stateChangeSuccess 不会在加载视图之前触发。
当我测试 ui-router 中的事件顺序时,我期望 $stateChangeSuccess
会在 $viewContentLoaded
之后,但事实并非如此,如下面的屏幕截图所示:
如果我通过 templateUrl 属性 远程加载视图,加载它可能需要一些时间(取决于网络连接)。我通过观看 stateChangeSuccess/Error 事件来显示我的加载指示器,我不希望加载指示器在视图尚未加载时过早停止。我想我会观看 $viewContentLoaded
事件,但我想与我的手表 (stateChangeStart/Success) 等保持一致。我想知道 stateChangeSuccess 是否真的等到视图内容加载之后?
它始终按该顺序加载。
我只是通过在 resolve 和 templateProvider 中延迟(延迟视图)来测试它,在这两种情况下事件的顺序都是相同的。
此外,当我在 templateProvider 中延迟视图加载时,$stateChangeSuccess 直到视图加载后才触发(resolves 中没有任何内容可以延迟它)。因此,$stateChangeSuccess 不会在加载视图之前触发。