zoukankan      html  css  js  c++  java
  • vuex 刷新页面状态丢失

    问题描述:

      移动端底部导航栏切换时更换图标,切换状态,有两种解决方案,一是通过路由query传值,而是用vuex保存状态,我选择用vuex,但是页面刷新了会丢失状态值,一顿百度,发现js运行在内存中的,所有变量函数啊都是在内存中的,刷新页面以前申请的内存被释放,重新加载脚本代码,变量重新赋值,所以这些数据要想储存就必须储存在外部,比如localStroage和sessionStorage,

    我在APP.VUE中:

     1 export default {
     2   name: "App",
     3   components: {},
     4   created(){
     5     if(sessionStorage.getItem('store')){
     6       this.$store.replaceState(
     7         Object.assign(
     8           {},
     9           this.$store.state,
    10           JSON.parse(sessionStorage.getItem('store'))
    11         )
    12       )
    13     }
    14     //页面加载之前存到sessionStoarge里
    15     window.addEventListener('beforeunload',()=>{
    16       sessionStorage.setItem('store',JSON.stringify(this.$store.state));
    17     })
    18   }
    19 };

    这样就解决了

    为此,我发现JS 的内存,堆,栈,执行环境,http,https 这些鬼玩意真的需要好好的去认识一下。难怪面试会被问,因为工作中真的需要,好多好多东西要去学,学不动了~~

  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/pfybk/p/14452691.html
Copyright © 2011-2022 走看看