最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue路由傳參刷新后數(shù)據(jù)丟失問題及解決

 更新時間:2024年03月08日 10:20:28   作者:weixin_49696014  
這篇文章主要介紹了vue路由傳參刷新后數(shù)據(jù)丟失問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue路由傳參刷新后數(shù)據(jù)丟失

出現(xiàn)刷新后數(shù)據(jù)丟失的情況可分為:

  • 1、路由傳參;
  • 2、從vuex獲取參數(shù)

首先說一下:

1、路由傳參

路由傳參可分為query傳參和params傳參

(1)、query傳參,參數(shù)會在地址欄中顯示,如果你傳的是字符串,刷新后頁面的數(shù)據(jù)是不會丟失的,如果傳的是對象或者是數(shù)組,那么刷新后,頁面的數(shù)據(jù)就會丟失,此時解決的方法是,將復雜數(shù)據(jù)類型,傳的時候轉(zhuǎn)化成字符串,子組件接受的時候再轉(zhuǎn)化過來,這樣刷新后就不會丟失啦

(2)、params傳參,無論是你參數(shù)是字符串還是復雜數(shù)據(jù)類型,刷新后子組件的頁面數(shù)據(jù)都會丟失

解決辦法:

使用params中的路由匹配

使用方式:在router.js,即匹配路由規(guī)則的位置,加上占位符即可

{
  path: '/index/:num/:name',
  name: 'index',
  component: Index
}

params中的參數(shù)名稱需要和占位符的名稱一致即可

獲取參數(shù),還是和獲取params中參數(shù)一致:this.$route.params.name

這樣的話,參數(shù)就會出現(xiàn)在url中,格式為:url/num/name,這種方式將參數(shù)放在url上,刷新的時候才不會丟失數(shù)據(jù)。

綜上所述,自己的出的一個小結(jié)論:

如果不使用其他方法,只是路由傳參,要想刷新后數(shù)據(jù)不丟失,

你的參數(shù)就要出現(xiàn)再url地址中,雖然params傳遞的參數(shù)不出現(xiàn)在url地址,

但是要想解決params傳參數(shù)據(jù)刷新不丟失,還得把參數(shù)出現(xiàn)在url地址欄中

2、從vuex獲取參數(shù)

頁面刷新store.state中的數(shù)據(jù)消失是不可避免的,那么使用localStorage來避免這個問題。

發(fā)現(xiàn)問題的時候我就考慮到存數(shù)據(jù)在localStorage里,但是一個一個數(shù)據(jù)添加實在是太蠢了。

那么就需要一個全局的方法來,將store的數(shù)據(jù)存儲在localStorage里。

具體的方法也是百度的很好用,也很方便。

在App.vue中,created初始化生命周期中寫入以下方法

自己項目中使用的方法

//在頁面加載時讀取sessionStorage里的狀態(tài)信息
    if (sessionStorage.getItem('store')) {
      this.$store.replaceState(
        Object.assign(
          {},
          this.$store.state,
          JSON.parse(sessionStorage.getItem('store'))
        )
      )
    }
    //在頁面刷新時將vuex里的信息保存到sessionStorage里

    window.addEventListener('beforeunload', () => {
      sessionStorage.setItem('store', JSON.stringify(this.$store.state))
    })

作者的方法

//在頁面刷新時將vuex里的信息保存到localStorage里
window.addEventListener("beforeunload",()=>{
  localStorage.setItem("messageStore",JSON.stringify(this.$store.state))
})
 
//在頁面加載時讀取localStorage里的狀態(tài)信息
localStorage.getItem("messageStore") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("messageStore"))));

兩種方法基本一致

最后說一下,為什么vuex刷新后數(shù)據(jù)會丟失:

其實很簡單,因為store里的數(shù)據(jù)是保存在運行內(nèi)存中的,當頁面刷新時,頁面會重新加載vue實例,store里面的數(shù)據(jù)就會被重新賦值

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解Vue-cli中的靜態(tài)資源管理(src/assets和static/的區(qū)別)

    詳解Vue-cli中的靜態(tài)資源管理(src/assets和static/的區(qū)別)

    這篇文章主要介紹了Vue-cli中的靜態(tài)資源管理(src/assets和static/的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • element?el-tree折疊收縮的實現(xiàn)示例

    element?el-tree折疊收縮的實現(xiàn)示例

    本文主要介紹了element?el-tree折疊收縮的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 前端Vue學習之購物車項目實戰(zhàn)記錄

    前端Vue學習之購物車項目實戰(zhàn)記錄

    購物車是電商必備的功能,可以讓用戶一次性購買多個商品,下面這篇文章主要給大家介紹了關于前端Vue學習之購物車項目的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • vue+elementui實現(xiàn)拖住滑塊拼圖驗證

    vue+elementui實現(xiàn)拖住滑塊拼圖驗證

    這篇文章主要為大家詳細介紹了vue+elementui實現(xiàn)拖住滑塊拼圖驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • VUE+element-ui文件上傳的示例代碼

    VUE+element-ui文件上傳的示例代碼

    圖片和文件上傳在很多項目中都可以使用的到,本文主要介紹了VUE+element-ui文件上傳的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 基于Vue的延遲加載插件vue-view-lazy

    基于Vue的延遲加載插件vue-view-lazy

    這篇文章主要介紹了基于Vue的延遲加載插件vue-view-lazy,可以使圖片或者其他資源進入可視區(qū)域后加載,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue-swiper的使用教程

    vue-swiper的使用教程

    swiper是我之前做前端頁面會用到的一個插件,我自己認為是非常好用的。這篇文章給大家介紹vue-swiper的使用教程,感興趣的朋友一起看看吧
    2018-08-08
  • 一文帶你搞懂Vue?Loader是如何工作的

    一文帶你搞懂Vue?Loader是如何工作的

    Vue?Loader?作為一個?webpack?的?Loader,扮演著將?.vue?文件轉(zhuǎn)化為瀏覽器可執(zhí)行代碼的角色,下面就跟隨小編一起深入了解Vue?Loader?的技術細節(jié)與工作機制吧
    2024-12-12
  • vue?codemirror實現(xiàn)在線代碼編譯器效果

    vue?codemirror實現(xiàn)在線代碼編譯器效果

    這篇文章主要介紹了vue-codemirror實現(xiàn)在線代碼編譯器?,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Vue3.0導出數(shù)據(jù)為自定義樣式Excel的詳細實例

    Vue3.0導出數(shù)據(jù)為自定義樣式Excel的詳細實例

    在許多的后臺系統(tǒng)中少不了導出Excel表格的功能,下面這篇文章主要給大家介紹了關于Vue3.0導出數(shù)據(jù)為自定義樣式Excel的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06

最新評論

云浮市| 始兴县| 黎平县| 彰化市| 嘉兴市| 双柏县| 乃东县| 蓬溪县| 来凤县| 屏南县| 海伦市| 柞水县| 安泽县| 南投县| 樟树市| 安岳县| 高青县| 社会| 汕头市| 哈巴河县| 合阳县| 江山市| 溧水县| 镇雄县| 乡宁县| 科技| 台北县| 中山市| 临湘市| 黔东| 加查县| 新疆| 宜兰市| 奎屯市| 桦川县| 当涂县| 二手房| 江口县| 彭州市| 镇安县| 嘉定区|