Angular RouteProvider,根据routeParams返回某个模板

Angular RouteProvider, returning a certain template depending on routeParams

我想实现这样的目标:

.when('/event/group/:gid', {
            if($routeParams.gid == 124){
                controller: 'ACtrl',
                templateUrl: '/event/A/foo.html'
            } else {
                controller: 'BCtrl',
                templateUrl: '/event/B/bar.html'
            }
        })

从字面上看,我想使用路由参数作为条件来决定渲染哪个控制器和视图。

这可以通过在您的 templateUrl 上返回一个函数来完成。

.when('/event/group/:gid', {
    controller: 'ACtrl',
    templateUrl: function (params) {
        if(params.gid == 124){
           return '/event/A/foo.html'
        } else {
           return '/event/B/bar.html'
        }
     }
  });