簡體   English   中英

Angular JS工廠如何工作?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM