AngularJS服务与工厂的优点和缺点
这个问题在这里已经有了答案:
服务与工厂
工厂和服务之间的区别就像function
和object
之间的区别
工厂提供商
给我们函数的返回值,即。 您只需创建一个对象,为其添加属性,然后返回相同的对象。当您将此服务传递到您的控制器时,对象上的这些属性现在将通过您的工厂在该控制器中可用。 (假设情景)
独生子
可重复使用的组件
可以使用其他依赖项
通常在服务实例需要复杂的创建逻辑时使用
用于不可配置的服务
如果您使用的是对象,则可以使用工厂提供者。
语法: module.factory('factoryName', function);
服务提供者
给我们一个函数的实例(对象) - 您刚刚使用'new'关键字实例化,并且您将向'this'添加属性,服务将返回'this'。当您将服务传递到控制器时,这些属性通过你的服务现在可以在该控制器上使用'this'。 (假设情景)
单身人士,只会被创建一次
可重复使用的组件
依赖项被注入为构造函数参数
用于简单的创建逻辑
如果您使用的是课程,则可以使用服务提供商
语法: module.service('serviceName', function);
在下面的例子中,我定义了MyService
和MyFactory
。 请注意在.service
如何使用this.methodname.
创建服务方法this.methodname.
在.factory
我创建了一个工厂对象并为其分配了方法。
AngularJS .service
module.service('MyService', function() {
this.method1 = function() {
//..
return functionValue;
}
this.method2 = function() {
//..
return functionValue;
}
});
AngularJS。工厂
module.factory('MyFactory', function() {
var factory = {};
factory.method1 = function() {
//..
}
factory.method2 = function() {
//..
}
return factory;
});
也看看这个美丽的东西
对服务和工厂感到困惑
AngularJS工厂,服务和提供商
Angular.js:服务vs提供者vs工厂?
链接地址: http://www.djcxy.com/p/77827.html上一篇: AngularJS services vs factory advantages and shortcomings