我有一个使用ui路由器的angularjs应用程序。我有一个包含子视图的页面。我想知道页面何时完全加载,类似于document.ready。我知道angularjs有$viewContentLoaded
事件,但它会为每个子视图触发。因此,当您添加时,它将为每个子视图触发。有没有人知道如何监听事件,让我知道整个页面已经完成加载?
最佳答案
您可以绑定到$stateChangeSuccess
事件,并根据需要利用参数(例如,如果您只想为特定的toState
执行某些操作)
$stateChangeSuccess-状态转换完成后激发。
一个例子可能包括。。。
$scope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
// done -- do something
});
您可以将其包含在诸如控制器之类的位置,或者包含在诸如
run
函数之类的全局位置,并绑定到$rootScope
有关更多信息,请参见ui-router docs