我正在構建一個3頁的嚮導配置應用程序。每個頁面都有相同的MasterController但不同的html模板。每個html模板都有一個不同的控制器,比如ControllerOne,ControllerTwo和ControllerThree。關於在哪裏存儲和保存角度數據的建議
我通過MasterController加載數據,我希望數據和用戶所做的任何更改都暫時存儲,直到最終頁面上的保存&完成步驟。麻煩在於用戶瀏覽頁面時,每次調用MasterController時,每次都會讀取數據並覆蓋用戶的更改。
我想過將這些數據附加到服務或rootScope上,但數據初始化仍然發生在MasterController中,因此在加載每個視圖時數據仍然會被覆蓋。
有關如何創建此功能或重構我的應用程序以支持此功能的任何建議?
編輯:
要明確的服務問題。我不知道在哪裏初始化它。如果我在控制器1,2或3中執行此操作,則每次視圖更改時我的數據都會重新初始化,以至於無法正常工作。我無法在app.run()中執行它,因爲我需要訪問MasterController以獲取必要的ID來發出我的HTTP請求。我無法在MasterController中執行此操作,因爲這也是在每個頁面切換器上調用的。
理想情況下,我會在視圖內有一個視圖,以便只有內部視圖發生變化。然而,角度不支持嵌套視圖,我試圖找到解決這個問題的方法,而不必使用angularUI。
我說服務或本地存儲 –
只需將您的數據初始化代碼移動到服務中並將數據存儲在那裏,您還可以定義使用$ http將數據最終發送到服務中的方法,並將其注入到控制器中在適當的地方稱呼它http://plnkr.co/edit/ABQsAxz1bNi34ehmPRsF?p=preview。 – shaunhusain