如何计算ui-router(AngularJS)中每个状态所花费的时间

时间:2016-09-22 04:55:03

标签: angularjs angular-ui-router

想要在AngularJS路由中分别计算每个状态所花费的时间。我使用的是ui-router。

1 个答案:

答案 0 :(得分:1)

你可以得到的是使用之前路线变化和当前路线变化之间的时差...将$stateChangeSuccess事件挂钩到$rootScope

代码类似于下面的代码(在root-controller // app level controller中添加它)

     var timeStart;

     $rootScope.$on('$stateChangeSuccess', function(current, prev){
            if(angular.isUndefined(timeStart)){
                 $log.info('this is the first route')
            } else {
                 var timeSpent = moment().diff(timeStart).format('mm:ss');
                 $log.info(`total time spent ${timeSpent} route ${prev.name}`);
                 timeStart = moment();
            }
     })

**编辑**

它正在使用momentjs,您可以使用任何日期库进行日期操作/获取时差,read here如何进行操作