Angularjs 如何创建用于不同模块的角度服务?

Angularjs 如何创建用于不同模块的角度服务?,angularjs,Angularjs,我在angular文档中看到,服务是通过在模块上定义工厂来创建的 但是,我需要定义一个公共服务,以便跨多个模块使用。 我在文档中没有看到任何关于这方面的内容。能做到吗?或者是否有某种方法可以从创建服务的模块以外的模块访问服务?请检查工作演示: 在一些常见模块中定义服务,如: angular.module('mySharedModule', []) .service('mySharedService',... 然后在其他模块中,使用 angular.module('myModule',

我在angular文档中看到,服务是通过在模块上定义工厂来创建的

但是,我需要定义一个公共服务,以便跨多个模块使用。
我在文档中没有看到任何关于这方面的内容。能做到吗?或者是否有某种方法可以从创建服务的模块以外的模块访问服务?

请检查工作演示:

在一些常见模块中定义服务,如:

angular.module('mySharedModule', [])
     .service('mySharedService',...
然后在其他模块中,使用

angular.module('myModule', ['mySharedModule'])
    .controller('mySharedService', function (mySharedService) {
    ...

然后您可以在模块
myModule
内使用
mySharedService
。您的服务现在可注入其中。

请检查工作演示:

在一些常见模块中定义服务,如:

angular.module('mySharedModule', [])
     .service('mySharedService',...
然后在其他模块中,使用

angular.module('myModule', ['mySharedModule'])
    .controller('mySharedService', function (mySharedService) {
    ...

然后您可以在模块
myModule
内使用
mySharedService
。您的服务现在可注入其中。

请检查工作演示:

在一些常见模块中定义服务,如:

angular.module('mySharedModule', [])
     .service('mySharedService',...
然后在其他模块中,使用

angular.module('myModule', ['mySharedModule'])
    .controller('mySharedService', function (mySharedService) {
    ...

然后您可以在模块
myModule
内使用
mySharedService
。您的服务现在可注入其中。

请检查工作演示:

在一些常见模块中定义服务,如:

angular.module('mySharedModule', [])
     .service('mySharedService',...
然后在其他模块中,使用

angular.module('myModule', ['mySharedModule'])
    .controller('mySharedService', function (mySharedService) {
    ...

然后您可以在模块
myModule
内使用
mySharedService
。您的服务现在是可注入的。

服务必须属于模块。但是,要在其他模块中使用它,只需在您想要使用它的模块中包含拥有它的模块。例如:

angular.module('common', [])
    .factory('yourService', ...);

angular.module('yourModule', ['common'])
    .controller('yourController', ['yourService', function(yourService) {
       // common service available here.
    }]);

服务必须属于模块。但是,要在其他模块中使用它,只需在您想要使用它的模块中包含拥有它的模块。例如:

angular.module('common', [])
    .factory('yourService', ...);

angular.module('yourModule', ['common'])
    .controller('yourController', ['yourService', function(yourService) {
       // common service available here.
    }]);

服务必须属于模块。但是,要在其他模块中使用它,只需在您想要使用它的模块中包含拥有它的模块。例如:

angular.module('common', [])
    .factory('yourService', ...);

angular.module('yourModule', ['common'])
    .controller('yourController', ['yourService', function(yourService) {
       // common service available here.
    }]);

服务必须属于模块。但是,要在其他模块中使用它,只需在您想要使用它的模块中包含拥有它的模块。例如:

angular.module('common', [])
    .factory('yourService', ...);

angular.module('yourModule', ['common'])
    .controller('yourController', ['yourService', function(yourService) {
       // common service available here.
    }]);

你说的.service是指.factory吗?噢,
service
factory
都是
提供商
。从某种意义上说,它们是为了同样的目的。请检查这似乎不起作用。我在一个JS文件中有一个模块angular.module(“treeApp”).controller(“treeCtrl”),function($scope,……然后在另一个JS文件中,我在该模块上用angular.module(“treeApp”).factory(“Tags”,function($http)定义了一个名为Tags(共享服务)的工厂服务…最后,我有一个名为exportApp的新模块,我想引用标记。我将其定义为angular.module(“exportApp”,“treeApp]”)、controller(“exportCtrl”,“Tags”,function(Tags){}].但我有一个未捕获的错误。你的小提琴按原样工作,但当我用工厂代替服务时,它就不工作了。我的小提琴被定义为工厂。有没有办法让它与工厂一起工作?只是语法上的不同。我想你可以先试试服务/工厂的一些例子。当你说。服务是指工厂吗?哦,
服务
factory
都是
提供者
。从某种意义上说,它们是用于相同的目的。请检查这似乎不起作用。我在一个JS文件中有module angular.module(“treeApp”).controller(“treeCtrl”,function($scope,…),然后在另一个JS中定义一个名为Tags的工厂服务(共享服务)在带有angular.module(“treeApp”).factory(“Tags”,function($http)…的模块上。最后,我有一个名为exportApp的新模块,我想引用标记。我将它定义为angular.module(“exportApp”),[“treeApp”]).controller(“exportCtrl”,[“Tags”,function(Tags){}].但我有一个未捕获的错误。你的小提琴按原样工作,但当我用工厂代替服务时,它就不工作了。我的小提琴被定义为工厂。有没有办法让它与工厂一起工作?只是语法上的不同。我想你可以先试试服务/工厂的一些例子。当你说。服务是指工厂吗?哦,
服务
factory
都是
提供者
。从某种意义上说,它们是用于相同的目的。请检查这似乎不起作用。我在一个JS文件中有module angular.module(“treeApp”).controller(“treeCtrl”,function($scope,…),然后在另一个JS中定义一个名为Tags的工厂服务(共享服务)在带有angular.module(“treeApp”).factory(“Tags”,function($http)…的模块上。最后,我有一个名为exportApp的新模块,我想引用标记。我将它定义为angular.module(“exportApp”),[“treeApp”]).controller(“exportCtrl”,[“Tags”,function(Tags){}].但我有一个未捕获的错误。你的小提琴按原样工作,但当我用工厂代替服务时,它就不工作了。我的小提琴被定义为工厂。有没有办法让它与工厂一起工作?只是语法上的不同。我想你可以先试试服务/工厂的一些例子。当你说。服务是指工厂吗?哦,
服务
factory
都是
提供者
。从某种意义上说,它们是用于相同的目的。请检查这似乎不起作用。我在一个JS文件中有module angular.module(“treeApp”).controller(“treeCtrl”,function($scope,…),然后在另一个JS中定义一个名为Tags的工厂服务(共享服务)在带有angular.module(“treeApp”).factory(“Tags”,function($http)…的模块上。最后,我有一个名为exportApp的新模块,我想引用标记。我将它定义为angular.module(“exportApp”),[“treeApp”]).controller(“exportCtrl”,[“Tags”,function(Tags){}].但我有一个未捕获的错误。您的小提琴按原样工作,但当我用factory替换服务时,它就不工作了。我的小提琴被定义为factory。有没有办法让它与factory一起工作?只是语法上的不同。我想您可以先尝试一些service/factory的示例。