我有一个使用ui-router的angularjs应用程序。我有一个包含子视图的页面。我想知道页面何时完全加载类似于document.ready。我知道angularjs有$viewContentLoaded
事件,但是会触发每个子视图。因此,当您添加它时,它将为您的每个子视图触发。有没有人知道一种方法来监听一个让我知道整个页面已经完成加载的事件?
答案 0 :(得分:2)
您可以绑定到$stateChangeSuccess
事件,并根据需要利用参数(例如,如果您只想为特定的toState
执行某些操作)
$ stateChangeSuccess - 状态转换完成后触发。
一个例子可能包括......
$scope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
// done -- do something
});
您可以将此项包含在控制器或全球某个地方,例如run
功能并绑定到$rootScope
有关详细信息,请参阅ui-router docs