Vue2中pinia刷新后数据丢失的问题解决

 更新时间:2023年12月11日 11:37:40   作者:卡卡卡卡罗特  
Pinia是一个Vue.js状态管理库,如果你在组件中修改了store中的数据并刷新了界面,Pinia会将store中的数据重置为初始值,从而导致数据丢失的问题,本文就来介绍一下问题解决,感兴趣的可以了解一下

Pinia:官网

Pinia 是一个 Vue.js 状态管理库,如果你在组件中修改了 store 中的数据并刷新了界面,Pinia 会将 store 中的数据重置为初始值,从而导致数据丢失的问题。

这里给出vue2的解决方案:

可以使用 Pinia 的 Persist 插件,该插件可以将 Pinia 的 store 数据持久化到本地存储中,这样当你刷新页面时,store 中的数据不会丢失。可以参考文档:文档

安装Persist ,选择你喜欢的包管理器

# yarn
yarn add pinia-plugin-persist
# npm
npm install pinia-plugin-persist

main.js文件

import { createPinia, PiniaVuePlugin } from 'pinia' //vue2需要引入PiniaVuePlugin 
import piniaPluginPersist from 'pinia-plugin-persist'//引入pinia数据持久化插件

Vue.use(PiniaVuePlugin)
const pinia = createPinia()//创建pinia的实例
pinia.use(piniaPluginPersist);

new Vue({
  router,
  render: h => h(App),
  pinia,
}).$mount('#app')

 articeId.js,这里我是保存文章Id,所以是这个文件,根据官方文档,在src/stores下创建该文件

import { defineStore } from 'pinia'

// 你可以对 `defineStore()` 的返回值进行任意命名,但最好使用 store 的名字,同时以 `use` 开头且以 `Store` 结尾。(比如 `useUserStore`,`useCartStore`,`useProductStore`)
// 第一个参数是你的应用中 Store 的唯一 ID。
export const useArticleIdsStore = defineStore('articleId', {
  // 其他配置...
  persist: {
    enabled: true,//开启数据持久化
    strategies: [
      {
        key: 'articleId',//给一个要保存的名称
        storage: localStorage,// localStorage 存储方式为本地存储
      }
    ]
  },
  state:()=>{
    //需要保存的数据,初始值为0
    return {articleId:0}
  },
  actions:{

  }
})

使用样例:

import { useArticleIdsStore } from '@/stores/articleId'
const articleIdsStore = useArticleIdsStore();
    methods: {
        getArticle() {
            //获取存储的articleId值
             const articleId = articleIdsStore.articleId;
            //其他操作...
        }, 
    },

到此这篇关于Vue2中pinia刷新后数据丢失的问题解决的文章就介绍到这了,更多相关Vue2 pinia刷新后数据丢失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue生成gzip压缩包部署到nginx的示例

    vue生成gzip压缩包部署到nginx的示例

    vue 生成gzip压缩包部署到nginx服务器,如果我们把web网站资源进行gzip压缩后进行传输给浏览器,这样就能加快网站资源的加载速度,这篇文章主要介绍了vue生成gzip压缩包部署到nginx,需要的朋友可以参考下
    2022-12-12
  • vue实现宫格轮转抽奖

    vue实现宫格轮转抽奖

    这篇文章主要为大家详细介绍了vue实现宫格轮转抽奖,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 使用Vue实现移动端左滑删除效果附源码

    使用Vue实现移动端左滑删除效果附源码

    这篇文章主要介绍了使用Vue实现移动端左滑删除效果,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • vue.js中ref和$refs的使用及示例讲解

    vue.js中ref和$refs的使用及示例讲解

    这篇文章主要给大家介绍了关于vue.js中ref和$refs使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用vue.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Vue 3 + Element Plus树形表格全选多选及子节点勾选的问题解决方法

    Vue 3 + Element Plus树形表格全选多选及子节点勾选的问题解决方

    在本文中,我们解决了Vue 3和Element Plus树形表格中的全选、多选、子节点勾选和父节点勾选等常见问题,通过逐步实现这些功能,您可以构建功能强大且用户友好的树形表格组件,以满足各种数据展示需求,对Vue 3 Element Plus树形表格相关知识感兴趣的朋友一起看看吧
    2023-12-12
  • vue框架实现将侧边栏完全隐藏

    vue框架实现将侧边栏完全隐藏

    这篇文章主要介绍了vue框架实现将侧边栏完全隐藏,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue表单自定义校验规则介绍

    vue表单自定义校验规则介绍

    今天小编就为大家分享一篇vue表单自定义校验规则介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue 在服务器端直接修改请求的接口地址

    vue 在服务器端直接修改请求的接口地址

    这篇文章主要介绍了vue 在服务器端直接修改请求的接口地址的方法,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-12-12
  • vue项目常用组件和框架结构介绍

    vue项目常用组件和框架结构介绍

    这篇文章通过图文形式给大家介绍了vue项目的骨架及常用组件的相关知识,对此有兴趣的朋友跟着小编一起学习参考下吧。
    2017-12-12
  • 一文秒懂vue-property-decorator

    一文秒懂vue-property-decorator

    这篇文章主要介绍了vue-property-decorator的简单知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08

最新评论