我知道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(我不确定)。

10-05 22:37