使用AngularJS中的路径参数的单个路径的动态控制器

时间:2015-02-11 18:29:05

标签: angularjs router

基本上我们有很多控制器和模板,我们想为给定的路径动态加载控制器和模板。

有些事情:

$routeProvider.when('/page/:page', {
  templateUrl: fuction(params) {
    return '/templates/pages/' + params.page;
  },

  controller: function(params) {
    return params.page + 'Controller';
  }
})

但是我们没有收到控制器功能的params参数。有没有办法实现这种灵活性?

1 个答案:

答案 0 :(得分:0)

我想你可以使用$injector.instantiate函数,它将使用new调用给定函数并注入依赖项。由于控制器用作构造函数,您只需要像这样包装控制器函数:

controller: function () { return $injector.instantiate(function (params) { ... }); }

这只是猜测,我不保证它会起作用。