Angular:重构控制器将$ routeParams转为undefined

plu*_*us- 3 angularjs

我在不同的模块中分割我的角度代码,我正面临着一个问题.我想我不理解服务注入的内部.

从定义为全局函数的控制器开始

angular.module('foo', []);
function fooCtrl($scope, $routeParams) {
Run Code Online (Sandbox Code Playgroud)

以声明形式将它们作为模块的一部分

angular.module('foo',[]).
controller(['fooCtrl', function($scope, $routeParams) {
Run Code Online (Sandbox Code Playgroud)

最后我丢失了$ routeParams服务(未定义).我是否需要将明确的$ routeParams注入模块?我该怎么做?

Mar*_*man 6

看起来你没有controller()正确地打电话.

angular.module('foo',[]).
controller("fooCtrl", <-- controller name
    ['$scope', '$routeParams', <-- list of dependencies
    function($scope, $routeParams) { <--actual controller function
       alert($routeParams);
}]);
Run Code Online (Sandbox Code Playgroud)

关于jsfiddle的例子

如果您不打算进行缩小,还可以执行以下操作:

angular.module('foo',[]).controller("fooCtrl", function($scope, $routeParams) {   
});
Run Code Online (Sandbox Code Playgroud)