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