2016-02-11 29 views
0

當我在Chrome中調試我的Angular應用程序時,可以看到有些值表示爲「Resource」。每個 「資源」 具有下面的值:什麼是Angular的資源類型?

  • $$hashKey
  • Disabled
  • Group
  • Selected
  • Text
  • Value
  • __proto__

__proto__是一種 「資源」 也是一樣,包含了一些功能,如$delete$get$query$remove$save。這給了我一個提示,它與Angular的$resource服務有某種聯繫。

這是否只是使用$resource服務查詢Web服務的結果?如果是 - 我們可以創建這些對象(如果「資源」是一個對象)而不查詢服務?另一方面 - 我們是否可以從沒有這種「資源」開銷的服務中檢索數據,就像普通數據一樣,沒有特殊處理?

+1

http://stackoverflow.com/questions/18826320/what-is-the-hashkey-added-to-my-json-stringify-result –

回答

1

它表明該對象是由Resource構造函數實例化的。它由$resource服務在內部使用,並不打算在其外部使用,但它可以 - 例如,出於測試目的,

var Resource = $resource().prototype.constructor; 
expect(someObj instanceof Resource).toBe(true); 

在另一方面 - 我們可以檢索沒有這個 「資源」的開銷來自服務的數據,就像普通的數據,無需特殊處理?

$resource是Angular RESTful交互的傳統解決方案。如果一個人認爲這是一個'開銷',並覺得自己的工作可以做得比這更好,這個輪子可以用$http(其實$resource基本上用來做它所做的)重新發明。

+0

謝謝你的回答。這是很好的解釋。我只是想補充我並不是說$資源是開銷,但是這個額外的字段由它的get方法返回。我想如果提到的字段存在於結果中,我可能會使用$ resource錯誤。只要它是預期的行爲和$資源服務的正確使用我沒關係。 – Landeeyo