javascript-为什么我应该选择在AngularJS的工厂上使用服务?
作者:互联网
这个问题已经在这里有了答案: > AngularJS: Service vs provider vs factory 31个
我知道这个问题已经问了很多遍了(实际上是很多次!),但是我仍然无法完全理解这两者之间的主要区别是什么.
我知道服务会返回所提供函数的单例实例,并且工厂将仅调用此函数并返回其值.
但…
正如我所看到的,您可以使用一个或另一个来实现相同的效果,那么我该如何选择要使用的一个呢?为什么我应该选择服务而不是工厂?
是否存在一个人可以做其他人不能做的事情?
解决方法:
简而言之
如果希望像普通函数一样调用函数,请使用工厂.如果要用新的运算符实例化函数,请使用service.如果您不知道区别,请使用工厂
资源 :
网址:http://iffycan.blogspot.in/2013/05/angular-service-or-factory.html
详细说明
使用service时,您声明的变量和函数将被原型化为新对象,并且对象将返回给您.在工厂中,它将按原样返回该函数.
假设您创建了一个具有10个函数的服务,当您将其作为依赖项包含时,将创建新对象并且所有函数都将被原型化,请查看以下示例
function Gandalf() {
this.color = 'grey';
}
Gandalf.prototype.comeBack = function() {
this.color = 'white';
}
将返回“ this”.此处的性能问题可以忽略不计.
标签:angularjs,angularjs-scope,angularjs-service,javascript 来源: https://codeday.me/bug/20191121/2049220.html