错误:[$ injector:unpr]未知提供者:routeParamsProvider< - 使用LazyLoad的routeParams

时间:2015-01-29 23:43:14

标签: angularjs lazy-loading

我使用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。

关于我做错什么的任何建议??

提前致谢。

1 个答案:

答案 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);
      }]);

干杯