假设我有这个配置:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'app/partials/index.html',
controller: 'defaultCtrl'
})
.when('/other', {
templateUrl: 'app/partials/other.html',
controller: 'errorCtrl'
})
.otherwise({
templateUrl: 'app/partials/404.html'
});
}
]);
我正在寻找一个地方在路由器调用路由之前做一些基本的,通用的维护代码。假设每次路由更改时我都希望通过console.clear()
清除控制台日志。如何以及在哪里成为代码中最好的地方?
答案 0 :(得分:8)
$route
服务引发$routeChangeStart
等可用于执行此类任务的事件。您可以使用$ scope。$ on方法实现它们。喜欢
$scope.$on('$routeChangeStart',function(angularEvent,next,current) {
//do you work here
});
阅读$route
documentation,了解此事件和其他此类事件。
同样$routeProvider
配置方法when
也可以使用参数resolve
,该参数实际上用于在解析路由之前设置依赖关系。此resolve
对象映射也可用于实现您想要执行的操作。