编程语言
首页 > 编程语言> > javascript-为什么我应该选择在AngularJS的工厂上使用服务?

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