我正在尝试编写自己的模块,然后将其注入我的应用程序
这是模块的代码:
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
我做错了什么?
答案 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,