2016-12-29 18 views
0

我開發了一個包含index.html文件和2個視圖view1.htmlview2.html的單頁應用程序,併爲上述視圖配置了2個狀態,但是當我在狀態之間瀏覽時,我正在丟失數據存儲在$rootScope,因爲瀏覽器再次加載app.js

它應該是這樣嗎?如何將數據存儲在$rootscope中,並在從state 1state 2的瀏覽過​​程中保存數據?

+0

儲存在控制器但是當你刷新頁面的所有數據將不見了。您必須要求刷新數據 –

+0

爲什麼刷新頁面時從一個視圖更改爲其他? ..它不正確的SPA .. –

+0

你如何瀏覽之間的意見?在全頁面刷新時使用散列爆炸或URL更改? – VadimB

回答

0

我才發現,我不得不寫鏈接爲:

<a ui-sref="testa()">View2</a>

代替

<a href="site/testa">View2</a>

0

如果app.js是包含您的主應用程序的代碼,那麼在第一次加載頁面時應該只加載一次,之後所有頁面轉換都應該通過ajax替換某些數據容器。 ..確保$ rootScope保持不變。

如果這不是你的結構,你刷新頁面經常你沒有關注SPA的基本原則

+0

我認爲當我改變scopes \ view和使用ui-view時,ui-router應該使用AJAX。這不正確嗎? – Omtechguy

+0

是的,在這種情況下,如果你使用UI路由器 – prashant

+0

進行導航,那麼你的rootScope應該被保留,而不是這種情況。你可以試試看嗎?我幾乎可以肯定你會發現整個頁面在頁面之間使用href的時候會刷新。 – Omtechguy