2016-05-31 32 views
0

這是關於角度服務的一般問題。 我有一項服務。在這個服務裏面,我們做了一個Db調用來獲取一堆數據。可以說,例如返回所有數據需要3秒。一旦帶有注入服務的控制器開始加載,服務內部數據庫調用/函數的開始將開始。 3秒後,我從服務/查詢中獲取數據。比方說,我想爲數據庫調用使用相同的服務,完全相同的查詢,另一個頁面/控制器。是否需要再次運行相同的查詢?或者第一次查詢時從第一個控制器/頁面運行的數據是否仍然保留相同的數據,否則查詢無法運行?角度服務數據庫調用持續數據

本質上,我不想再次調用數據庫,只返回從第一次調用查詢時得到的完全相同的數據。我希望能夠只調用一次查詢/數據庫,並在兩個不同的控制器中使用這些數據。

回答

0

如果您移動到另一個控制器並再次調用該函數,則將發生來自該服務的API調用。

爲了從第一個呼叫使用數據中的其他控制器,你可以使用任一下列方法:

1)$的sessionStorage存儲數據或$ localStorage的

2)使用$廣播,$ emit和$ on事件共享數據(取決於您的控制器的調用方式)*