當前位置:
首頁 > 知識 > Vue 實現前進刷新,後退不刷新的效果

Vue 實現前進刷新,後退不刷新的效果

需求一:

在一個列表頁中,第一次進入的時候,請求獲取數據。

點擊某個列表項,跳到詳情頁,再從詳情頁後退回到列表頁時,不刷新。

也就是說從其他頁面進到列表頁,需要刷新獲取數據,從詳情頁返回到列表頁時不要刷新。

解決方案

在 設置:

假設列表頁為 ,詳情頁為 ,這兩個都是子組件。

我們在 添加列表頁的名字,緩存列表頁。

然後在列表頁的 函數里添加 ajax請求,這樣只有第一次進入到列表頁的時候才會請求數據,當從列表頁跳到詳情頁,再從詳情頁回來的時候,列表頁就不會刷新。

這樣就可以解決問題了。

需求二:

在需求一的基礎上,再加一個要求:可以在詳情頁中刪除對應的列表項,這時返回到列表頁時需要刷新重新獲取數據。

我們可以在路由配置文件上對 增加一個 屬性。

這個 屬性,可以在詳情頁中通過 來讀取和設置。

設置完這個屬性,還要在 文件里設置 watch 一下 屬性。

這樣就不需要在列表頁的 函數里用 ajax 來請求數據了,統一放在 里來處理。

觸發請求數據有兩個條件:

從其他頁面(除了詳情頁)進來列表時,需要請求數據。

從詳情頁返回到列表頁時,如果詳情頁 屬性中的 為 ,也需求重新請求數據。

當我們在詳情頁中刪除了對應的列表項時,就可以將詳情頁 屬性中的 設為 。這時再返回到列表頁,頁面會重新刷新。

作者:woai3c

https://segmentfault.com/a/1190000019414890

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 JavaScript 的精彩文章:

Vscode 小白使用介紹

TAG:JavaScript |