[英]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.