无法注入我的自定义模块(提供程序错误)

时间:2015-01-03 16:28:12

标签: angularjs

我正在尝试编写自己的模块,然后将其注入我的应用程序

这是模块的代码:

angular.module('GlobalUtilsFunctionsCheckInDB',['ngResource'])

// --------------------------------------------------- data services  ------------------------------------------------

.service('GlobalUtilsFunctionsCheckInDBdataService',['$http',function($http){

    this.getTree = function (dimension) {
            return $http({method:'POST',data:{dimensionpassed:dimension},url:Routing.generate('_NRtworks_globalUtilsFunctions_checkInDB')});
        };

}])

// --------------------------------------------------- METHODS  ------------------------------------------------

.factory('GlobalUtilsFunctionsCheckInDBMethods', function () {
    return{
        // Util for finding an object by its 'id' property among an array
        test:function test(object) 
        {
            console.log(object);
        }
    };
});

现在在另一个js文件中,我的应用程序定义如下:

var treeView = angular.module('treeView', ['ngResource','xeditable','ui.tree','ui.router','GlobalUtilsFunctionsCheckInDB']);

然后我想把我的模块注入这个应用程序的控制器,定义如下:

treeView.controller('fullEdit',['$scope','$stateParams','utils','$state','reUsableData','$filter', 'GlobalUtilsFunctionsCheckInDB',function ($scope,$stateParams,utils,$state,reUsableData,$filter,GlobalUtilsFunctionsCheckInDBMethods)
{ GlobalUtilsFunctionsCheckInDB.test("show me"); };

我得到的错误是: 错误:[$ injector:unpr]未知提供者:GlobalUtilsFunctionsCheckInDBProvider< - GlobalUtilsFunctionsCheckInDB http://errors.angularjs.org/1.2.28/ $注射器/ unpr?P0 = GlobalUtilsFunctionsCheckInDBProvider%20%3 C-%20GlobalUtilsFunctionsCheckInDB

加载顺序为:angular,globalutils.js,然后是treeview.js

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在控制器中,您正在注入模块而不是工厂。

在控制器依赖注入中,更改

treeView.controller('fullEdit',['$scope','$stateParams','utils','$state','reUsableData','$filter', 'GlobalUtilsFunctionsCheckInDB',function ($scope,

treeView.controller('fullEdit',['$scope','$stateParams','utils','$state','reUsableData','$filter', 'GlobalUtilsFunctionsCheckInDBMethods',function ($scope,