Angular + ui-router :: on状态完全回调

时间:2015-11-04 21:28:28

标签: javascript angularjs angular-ui-router

我正在使用$state.go(url)在一些工厂中导航。为了避免闪烁,我想订阅我的动画,以便在新状态完全加载时启动。 (不只是网址更改)

如果有任何方法在插入状态的html和/或运行第一个digest周期时调用的工厂中添加回调?

2 个答案:

答案 0 :(得分:1)

您可以自由操作$stateChangeStart并继续$viewContentLoaded次活动。

您的状态与您在状态配置中为解析功能而添加的许多承诺一样精确。因此,如果您的满载状态取决于数据准备情况和页面呈现完成状态 - 您需要确保控制器在您遗漏任何内容之前不会加载。

只有在这些事件之间显示动画的意识是 - 当前状态下的每个视图都将单独调用$viewContentLoaded

如果是这样的话,我会在看到多个子视图等于发生的事件数后卸载动画。

答案 1 :(得分:1)

您可以收听状态转换完成时触发的事件$stateChangeSuccess

$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){
    // your code here
});

Check the UI Router doc about states and events