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

时间:2013-05-28 20:02:33

标签: angularjs

我在不同的模块中分割我的角度代码,我遇到了一个问题。我想我不理解服务注入的内部。

来自定义为全局函数的控制器

angular.module('foo', []);
function fooCtrl($scope, $routeParams) {

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

angular.module('foo',[]).
controller(['fooCtrl', function($scope, $routeParams) {

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

1 个答案:

答案 0 :(得分:6)

您似乎没有正确地呼叫controller()

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

<强> Example on jsfiddle

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

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