Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度依赖注入,如果将控制器、服务等分离到单独的模块中_Javascript_Angularjs_Web Services - Fatal编程技术网

Javascript 角度依赖注入,如果将控制器、服务等分离到单独的模块中

Javascript 角度依赖注入,如果将控制器、服务等分离到单独的模块中,javascript,angularjs,web-services,Javascript,Angularjs,Web Services,因此,我有自己的主要模块: var app = angular.module('LookupTool', ['ngRoute','controllers','services']); 然后将我的服务放在一个单独的services.js文件中 var services = angular.module('services',[]); services.factory('WebServices',function(){ ... }); 然后将我的控制器保存在一个单独的controller.j

因此,我有自己的主要模块:

var app =  angular.module('LookupTool', ['ngRoute','controllers','services']);
然后将我的服务放在一个单独的services.js文件中

var services = angular.module('services',[]);

services.factory('WebServices',function(){
...
});
然后将我的控制器保存在一个单独的controller.js文件中

var mainControllers = angular.module('controllers',[]);

mainControllers.controller('SearchCtrl', function ($scope) {

});
现在我的问题是,在这种模块化水平下,我如何将我的服务注入到我的控制器中,这是一种最佳实践吗

var mainControllers = angular.module('controllers',['services']);

mainControllers.controller('SearchCtrl', function ($scope,WebServices) {

});
我认为这样设置是不对的,模块应该是业务模块,每个模块都应该包含自己的控制器、服务等


例如,对于大学领域模块,它可以像考勤、考试、报告等一样。

如果您的服务如下,您可以按以下方式使用它

    services.factory('WebServices',function(){
    var webService= new WebService();
    return webService;
    ...
    });
还有一个函数

function WebServices(required angular variables)
{
..
}
。。如果需要,添加一些原型函数

。这将是您的实际服务

之后,您可以通过以下方式访问它

mainControllers.controller('SearchCtrl', function ($scope, webServices) {
$scope.webService= webService
});