通常AngularJS服务是对象 - 无论您是使用service
,factory
还是provider
创建它们。
现在我有一个单例函数的用例。基本上,我可以通过调用factory
并返回函数来解决此问题,例如:
angular.module('foo')
.factory('bar', function () {
return function () {
// ...
};
});
这很有效,每当我要求bar
时,我都会得到最内在的功能。无论如何,工作的事实并不意味着它是个好主意。
所以,是吗?还是一个糟糕的?如果是这样,为什么?
答案 0 :(得分:2)
为什么不使用value
或constant
?根据{{3}},他们也可以采取行动。
注册一个常量服务,例如字符串,数字,数组,等等 使用$ injector。对象或一个函数。
也来自有价值的文档:
这是注册服务提供商$ get的服务的简称 property是一个不带参数的工厂函数,返回 价值服务。
所以我认为你的方法也是有效的。