想要在AngularJS路由中分别计算每个状态所花费的时间。我使用的是ui-router。
答案 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如何进行操作