Restangular没有方法一。 AngularJs的不合理

时间:2014-03-10 22:45:13

标签: angularjs restangular

我有注射问题。

app.js

angular.module('Help', []);
var app = angular.module('app', [
    'restangular'
    ,'Help'
]); 
app.$inject = ['RestangularProvider']; 
app.config(
    function(RestangularProvider) {
        RestangularProvider.setBaseUrl('http://localhost:8080/api');
    }
)

help.js

function HelpCtrl($rootScope, $scope, Restangular){
 Restangular.one('questions').getList();
}
HelpCtrl.$inject = ['$scope', '$rootScope','Restangular'];  //"TAG1"
angular.module('Help').controller("HelpCtrl", HelpCtrl); 

我收到以下错误:

Uncaught TypeError: Object [object Object] has no method 'one' 

如果我删除行TAG1,一切正常。但是我需要以正确的方式注入它。这有什么问题?

1 个答案:

答案 0 :(得分:0)

注入器用于帮助AngularJS知道在变量名称发生变化时(例如,在最小化JavaScript之后)给出函数的参数顺序。

在您的情况下,您已经切换了注射器参数和方法签名的顺序,这意味着AngularJS会认为$scope$rootScope,反之亦然。

删除$inject或确保方法签名和注射阵列中的参数顺序相同。