我使用LazyLoad来按需加载角度控制器,并尝试构建所有路径,但总是得到错误:
Error: [$injector:unpr] Unknown provider: routeParamsProvider <- routeParams
在它下面是routeProvider代码段
$routeProvider
.when("/", {templateUrl: "principal/index"})
.when('/:controller/:action', {
templateUrl: function(routeParams){
return routeParams.controller+"/"+ routeParams.action;
},
resolve: function(routeParams){
lazyLoad('assets/controller/'+routeParams.controlador+'/'+routeParams.controller+'Controller.js');
return lazyload;
},
controller: function(routeParams){
return routeParams.action;
}
})
$httpProvider.interceptors.push('authHttpResponseInterceptor');
$httpProvider.defaults.transformRequest.push(spinnerFunction);
}]);
我甚至无法获得一个关于lazyLoad函数接收的路径的console.log。
关于我做错什么的任何建议??
提前致谢。
答案 0 :(得分:0)
“routeParams”在解析中不起作用。改为使用“$ route.current.params”。
试试这个:
$routeProvider
.when("/", {templateUrl: "principal/index"})
.when('/:controller/:action', {
templateUrl: function($route){
return $route.current.params.controller+"/"+ $route.current.params.action;
},
resolve: function($route){
lazyLoad('assets/controller/'+$route.current.params.controlador+'/'+$route.current.params.controller+'Controller.js');
return lazyload;
},
controller: function($route){
return $route.current.params.action;
}
})
$httpProvider.interceptors.push('authHttpResponseInterceptor');
$httpProvider.defaults.transformRequest.push(spinnerFunction);
}]);
干杯