【问题标题】:Dynamic controller for a single route using route params in AngularJS在 AngularJS 中使用路由参数的单个路由的动态控制器
【发布时间】:2015-02-12 03:23:54
【问题描述】:

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

类似的东西:

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

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

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

【问题讨论】:

    标签: angularjs router


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      相关资源
      最近更新 更多