我知道Angular没有万能的控制器。例如。:
$routeProvider.otherwise({
controller: 'CatchAllCtrl'
});
但是,如果触发了$ routeProvider.otherwise,有没有办法调用某些代码,这样我至少可以知道是否调用了该方法以及路由是什么?
最佳答案
您可以重定向到catchcall路由,该路由可以执行“其他”逻辑,然后手动重定向到应用程序中的实际视图。
$routeProvider
.when('/', {
templateUrl: '/partials/index.html',
controller: 'homeController'
})
.when('/otherwise', {
controller: 'otherwiseController'
})
.otherwise({redirectTo: '/otherwise' });
在您的elseController中,您可以注入$ location,然后将
$location.path("/")
重定向到您想去的任何地方。您可能需要为/ otherwise路由指定templateUrl(我不确定)。