我一直在學習角2幾個星期。我有一點困惑。請比較的數據是如何存儲/這裏分享:Angular 2服務:在哪裏保存數據
這裏:
第一個鏈接顯示它是如何在亞當·弗里曼的書叫「臨角」來完成。我們可以看到有一個名爲ProductRepository的服務,這就是所有產品都存儲的地方。這個服務有一個構造函數,它從另一個服務初始化它的數據,名爲StaticDataSource(稍後在本書中更改爲從其餘api獲取數據)。所以總結一下:我們有一個組件,它被注入了一個名爲ProductRepository的服務。然後它使用該服務中的getProducts()方法來接收所有產品(實際上這些產品只存儲在該服務的數組中)。
現在讓我們看一下第二個環節:
在這裏,我們有一個CommentsService。這次數據不存儲在這個服務中。我們只需要調用getComments()方法,然後再執行api服務中的另一種方法。 所以總結一下:我們有一個組件(ArticleComponent),它被注入了CommentsService。然後它調用該服務的getComments(),實際上每次調用時都會向服務器發送一個http.get請求。
現在我的問題是關於這些方法和後果之間的差異。根據我的理解,在第一種情況下,所有數據都從服務器獲取一次(應用程序加載時),然後將其全部存儲在名爲SomethingRepository(ProductRepository等)的服務中。 然而,在第二個鏈接中,我們每次使用服務(在任何組件中),都會直接從服務器接收數據。
關於它的最佳實踐是什麼?我只是擔心,如果我們使用本書中介紹的方法,那麼我們不會總是獲得「最新」的可能數據,因爲如果另一個客戶在此期間發生了某些變化,那麼我們仍然會處理在我們的應用正在加載。另一方面,第二種方法可能會影響我們在組件之間共享數據的可能性。
我對此非常困惑,我不確定是否應該將整個模型保存在我的應用程序中,並且有某種存儲庫,或者第二種方法更好。感謝您的任何幫助。