Angular, ui-路由器:改变状态时显示加载

Angular, ui-router: show loading when change state

在 angular 中有没有一种方法,当我想切换到另一个状态 (ui-sref) 时,我可以显示一些加载图标直到加载第二个状态?

是 angular ui.router 有您可以收听的活动:

$stateChangeStart - 在转换 开始时触发

$stateChangeSuccess - 一旦状态转换 complete.

就触发

在此之后您可以编写预加载器功能

$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
   $rootScope.preloader = false;
}

  $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
       $rootScope.preloader = true;
    }

并在你的 body 元素中写一些 <div>,然后 show/hide 使用这个变量

例如

<body> 
    <div ng-show="preloader"></div>
</body>