8、Vue 3 Pinia 使用实录:Pinia 通过插件实现持久化

作者: 温新

图书: 【Vue 3 Pinia 使用实录】

阅读: 252

时间: 2024-09-08 00:10:27

嗨,我是温新

为什么需要持久化

防止页面刷新后数据丢失。

持久化的实现:一是使用 sessionStroage 或 localStroage ,另外使用插件。本篇案例使用插件形式。

使用持久化插件

1、安装持久化插件
$ pnpm i pinia-plugin-persistedstate
2、引入插件

main.ts

...

import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)

...
3、开启持久化

src/stores/info.ts

import { defineStore } from "pinia";
import { ref } from "vue";

const useInfoStore = defineStore('info', () => {
    const num = ref(1)

    return {
        num
    }
},{
    // 开启持久化
    persist:true
})

export default useInfoStore
4、使用持久化

src/App.vue

<template>
  <h3>Vue 3 Pinia 使用实录</h3>
  <div class="main">
	<button @click="incrementCounter">{{ infoStore.num }}</button>
  </div>
  
</template>

<script setup lang="ts">
	import  useInfoStore  from "@/stores/info.ts";

	const infoStore = useInfoStore()

	const incrementCounter = () => {
		infoStore.num++;
	};

</script>

<style scoped>
	.main {
	background-color: pink;
	}
</style>
5、测试
  • 点击按钮进行自增
  • 然后刷新页面
  • 发现值没有发生变化
请登录后再评论