2015-02-23 121 views
1

我正在構建一個應用程序,該應用程序需要訪問由引導應用程序的頁面獲取的數據集,並將該數據集另存爲該頁面中的JavaScript變量中的JSON對象。 ..我顯然可以從應用程序內訪問。應該將永久數據保存在Angular應用程序中

數據在整個應用程序中用於各種功能。另外,一些數據被改變和/或新的數據被添加。

我讀過的一切都表明,像這樣的持久性數據應該保存在服務或工廠中,因爲它們是單例,並且可以很容易地將它們注入任何需要訪問它的控制器。所以我用一些getter/setter方法編寫了一個服務,使我能夠獲取或更改其中存儲的數據。

我只是想知道有什麼區別存儲服務,在那裏我會做這樣的事情的數據訪問之間:

$scope.userAddr1 = PersistentData.get('profileData', 'userAddr1'); 

,並繼續將其存儲在本地JavaScript父/引導頁面,在這裏我會做這樣的事情來訪問它:

$scope.userAddr1 = profileData.userAddr1; 

我可以看到如何將其存儲在服務將有助於保持組織的事情,但是否有認爲這樣做是任何其他原因是最佳實踐嗎?

+0

我不明白你的意思是「父/自助頁」。如果你的意思是一些特定的控制器,那麼數據根本就沒有存檔。當控制器卸載時,數據將會消失。如果你的意思是總是存在一些全局控制器,那是不好的做法,因爲它是全局狀態。無論哪種方式,控制器都是輕量級的,只需將用戶界面連接到服務即可。控制器不是數據的目的地,它只是告訴用戶界面和服務如何/在哪裏發送和接收數據。 – m59 2015-02-23 17:39:44

+0

「parent/bootstrapping page」我的意思是嵌入了Angular應用程序的HTML頁面(在本例中爲.jsp)...包含'data-ng-app =「someAppName」'的頁面。 – Daveh0 2015-02-23 17:59:36

回答

0

如果您的客戶使用的是現代瀏覽器,那麼您可以使用Web storage(localStorage或sessionStorage)。

相關問題