基本上我们有很多控制器和模板,我们想为给定的路径动态加载控制器和模板。
有些事情:
$routeProvider.when('/page/:page', {
templateUrl: fuction(params) {
return '/templates/pages/' + params.page;
},
controller: function(params) {
return params.page + 'Controller';
}
})
但是我们没有收到控制器功能的params
参数。有没有办法实现这种灵活性?
答案 0 :(得分:0)
我想你可以使用$injector.instantiate
函数,它将使用new
调用给定函数并注入依赖项。由于控制器用作构造函数,您只需要像这样包装控制器函数:
controller: function () {
return $injector.instantiate(function (params) { ... });
}
这只是猜测,我不保证它会起作用。