簡體   English   中英

Angular Dependency Injection,如果將控制器,服務等分離到單獨的模塊中

[英]Angular Dependency Injection if separating controllers, services, etc into separate modules

所以我的主要模塊是這樣的:

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
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM