pinia数据持久化(pinia-plugin-persistedstate)插件使用

本文介绍了如何在Vue.js项目中使用pinia-plugin-persistedstate插件实现数据持久化。首先,需要安装pinia和pinia-plugin-persistedstate,然后在main.ts中导入并配置插件,接着在store文件夹下创建appStore.ts,最后在组件中正常使用持久化的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pinia数据持久化(pinia-plugin-persistedstate)插件使用

使用pinia-plugin-persistedstate插件前需先安装pinia插件并导入

pinia官网
pinia-plugin-persistedstate官网

标题安装pinia-plugin-persistedstate插件

yrun add pinia-plugin-persistedstate
# 或者
npm install pinia-plugin-persistedstate

在mian.ts中导入pinia-plugin-persistedstate插件

import { createApp } from 'vue';
import App from './App.vue';
import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
const app = createApp(App);
const pinia = createPinia();
app.use(pinia.use(piniaPluginPersistedstate));
app.mount('#app');

在store文件夹下创建appStore.ts文件

// 使用pinia保存用户信息
import { defineStore } from 'pinia';

export default defineStore('user', {
    state() {
    	// 定义保存数据的对象
       	userInfo: {
       		id: '1001',
       		username: 'admin'
       		
       	}
    },
    actions: {
    	// 定义保存数据的方法
        setUser(userInfo:object) {
        	this.userInfo = userInfo
        }
    },
    // 数据持久化
    persist: {
        enabled: true,
    }
});

在组件中使用

<script setup lang="ts">
	// 导入pinia中存储的对象
	import userInfo from '@/stores/appStore'
	let userStore = userInfo()
	console.log(userStore.userInfo)
</script>

<template>
  	<el-card class="box-card">
    	{{ userStore.userInfo }}
    </el-card>
</template>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值