我用angularjs编写了以下服务:如何/如何将其更改为工厂?此外,当工厂被使用而不是服务时,有什么优势/区别?
angular.module('helloApp').service('popupService', function() {
var popup;
var setter = function(parameter) {
popup = parameter;
};
var getter = function() {
return popup;
};
return {
setter: setter,
getter: getter
};
});
提前感谢
发布于 2015-07-10 01:56:53
要更改它,首先应该在模块中声明为工厂。
angular.module('helloApp').factory('popupService', function() {
var popup;
var setter = function(parameter) {
popup = parameter;
};
var getter = function() {
return popup;
};
return {
setter: setter,
getter: getter
};
}
这个问题(工厂还是服务)是Stackoverflow中最流行的问题之一:AngularJS:服务对供应商和工厂
服务 语法:module.service( 'serviceName',函数); 结果:将serviceName声明为可注入参数时,将为您提供函数的一个实例。换句话说,新的FunctionYouPassedToService()。 工厂 语法:module.factory( 'factoryName',函数); 结果:当将factoryName声明为可注入参数时,将为您提供通过调用传递给module.factory的函数引用返回的值。
正式文件
此外,您还可以在Also网站上找到官方文档:
https://stackoverflow.com/questions/31337715
复制相似问题