2016-02-25 63 views
-1

如何在Angualr JS 1.4中緩存視圖。我有一個主視圖和一個細節視圖。當我回到我的主視圖時,它每次都會重新載入視圖和控制器。我有一個很長的滾動列表視圖,並希望能夠從一個詳細信息頁面返回視圖,而無需重新加載所有數據,並且必須一直滾動到我的最後位置。在Angular JS 1.4中緩存視圖

感謝,

RGecy

+0

感謝您的投票!如果問題和研究是如此簡單,告訴我在哪裏以及如何做到這一點!已經尋找關於這個問題的日子!我不會問別的! – BGecko

+0

您可能已經主要是因爲沒有代碼表明你嘗試了一些東西,這可以幫助我們給你一些提示。請看看這裏:http://stackoverflow.com/help/how-to-ask – Jodevan

+0

緩存狀態視圖模型,而不是視圖本身。如果使用'ui-router'有能力做到這一點,但也可以自己做一個服務 – charlietfl

回答

0

我認爲你的問題實際上是混爲一談兩個不同的概念。開箱角度支持,模板緩存。因此,如果您是控制器請求/scripts/myDirective.html,它只會進行一次網絡請求。

但是,angular並未緩存模板,也沒有渲染到DOM的插值。所以:

<div>Hello, {{name}}</div> 

緩存,但

<div> Hello John </div> 

不是,因爲名字是依賴於應用程序的狀態,並且可以更改。

我的建議是緩存檢索數據的網絡調用結果(角度爲$http的客戶端支持此操作,然後在返回主控制器時傳遞參數以指示用戶應該在列表中的哪個位置看看

+0

謝謝!這正是我所看到的。所以根據這一點,沒有辦法在DOM中緩存視圖?像Ionic說的那樣? – BGecko

+0

所以你可以寫一個ui-vew的自定義實現來處理這個問題,但這可能是處理真正老舊和慢速的機器的最後手段。 Ionic做到這一點,因爲它必須支持各種各樣的硬件 – mkalish