Nuxt引入vue-persistedstate以及踩坑

本文介绍了如何在Nuxt项目中利用vue-persistedstate插件实现Vuex状态的本地持久化,包括安装、配置和解决在引入过程中遇到的'window is not defined'错误问题。
摘要由CSDN通过智能技术生成

前言

项目需求,需要vuex进行路由持久化保存,结合nuxt框架进行记录。

思路

监听数据变化, 每当登录完毕,

vuex 数据发生变化,就要将数据保存到浏览器 本地 (指用户浏览器localStorage)

页面打开时, 会尝试将之前保存过的数据恢复到 vuex 当中即可

有点复杂, 找个插件帮忙

实现缓存信息到本地

nuxtjsstore不能直接使用浏览器的lcoalStorage方法,

而且自己写数据同步功能比较麻烦,

所以我们需要依赖一个插件vuex-persistedstate,该插件会把本地存储的数据存储到store

引入方法
1. 安装
npm install vuex-persistedstate  --save

nuxt.config.js配置文件

plugins: [
    '@/plugins/element-ui',
    // '@/plugins/localStorage'
    // 这里的引入, 如果是普通字符串, 就在服务端马上运行
    // 如果是要等到浏览器再运行的代码可以将配置改为对象, 并且 路径作为 src 传进去
    {
   
      src: '@/plugins/localStorage',
      // 如果只在浏览器加载的代码, 可以添加一个 属性 ssr: false
      ssr: false
    }
  ],

plugins/localStorage.js

console
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值