[英]How does Angular JS factory work?
这两家工厂有什么区别吗?
.factory("f1", function(){
var F1 = function() { ... }
...
return F1;
})
和
.factory("f2", function(){
var F2 = function() { ... }
...
return new F2();
})
我知道f1
返回构造函数, f2
返回对象的实例,但是工厂的想法是返回对象的实例。 在许多有关角度的教程中,我已经看到过像f1
这样的构造,并且我开始研究该工厂的工作方式,也许它们会自动创建对象的实例,而new
运算符是没有用的?
[ 编辑 ]
您对这个解决方案有何看法
.factory("f3", function(options){
var F3 = function() { ... }
...
var init = function (options){
return new F3(options);
}
return {createInstance: init);
})
是。 第一个返回类定义,第二个返回类定义实例。
如果需要多次创建对象的实例,则可以从工厂返回原型。 如果要初始化一次,请从工厂返回新值。
工厂和服务都是单例。 因此,如果您想多次使用对象,则返回类定义。 因此,您可以在控制器中多次执行新的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.