Vue2中pinia刷新后數(shù)據(jù)丟失的問(wèn)題解決
Pinia:官網(wǎng)
Pinia 是一個(gè) Vue.js 狀態(tài)管理庫(kù),如果你在組件中修改了 store 中的數(shù)據(jù)并刷新了界面,Pinia 會(huì)將 store 中的數(shù)據(jù)重置為初始值,從而導(dǎo)致數(shù)據(jù)丟失的問(wèn)題。
這里給出vue2的解決方案:
可以使用 Pinia 的 Persist
插件,該插件可以將 Pinia 的 store 數(shù)據(jù)持久化到本地存儲(chǔ)中,這樣當(dāng)你刷新頁(yè)面時(shí),store 中的數(shù)據(jù)不會(huì)丟失。可以參考文檔:文檔
安裝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數(shù)據(jù)持久化插件 Vue.use(PiniaVuePlugin) const pinia = createPinia()//創(chuàng)建pinia的實(shí)例 pinia.use(piniaPluginPersist); new Vue({ router, render: h => h(App), pinia, }).$mount('#app')
articeId.js,這里我是保存文章Id,所以是這個(gè)文件,根據(jù)官方文檔,在src/stores下創(chuàng)建該文件
import { defineStore } from 'pinia' // 你可以對(duì) `defineStore()` 的返回值進(jìn)行任意命名,但最好使用 store 的名字,同時(shí)以 `use` 開(kāi)頭且以 `Store` 結(jié)尾。(比如 `useUserStore`,`useCartStore`,`useProductStore`) // 第一個(gè)參數(shù)是你的應(yīng)用中 Store 的唯一 ID。 export const useArticleIdsStore = defineStore('articleId', { // 其他配置... persist: { enabled: true,//開(kāi)啟數(shù)據(jù)持久化 strategies: [ { key: 'articleId',//給一個(gè)要保存的名稱 storage: localStorage,// localStorage 存儲(chǔ)方式為本地存儲(chǔ) } ] }, state:()=>{ //需要保存的數(shù)據(jù),初始值為0 return {articleId:0} }, actions:{ } })
使用樣例:
import { useArticleIdsStore } from '@/stores/articleId' const articleIdsStore = useArticleIdsStore();
methods: { getArticle() { //獲取存儲(chǔ)的articleId值 const articleId = articleIdsStore.articleId; //其他操作... }, },
到此這篇關(guān)于Vue2中pinia刷新后數(shù)據(jù)丟失的問(wèn)題解決的文章就介紹到這了,更多相關(guān)Vue2 pinia刷新后數(shù)據(jù)丟失內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue3組件不發(fā)生變化如何監(jiān)聽(tīng)pinia中數(shù)據(jù)變化
- vue使用Pinia的五個(gè)實(shí)用技巧分享
- vue使用pinia實(shí)現(xiàn)全局無(wú)縫通信
- Vue3中使用Pinia修改State的五種方式
- vue中狀態(tài)管理器Pinia的用法詳解
- vue3項(xiàng)目引入pinia報(bào)錯(cuò)的簡(jiǎn)單解決
- Vue3在router中使用pinia報(bào)錯(cuò)的簡(jiǎn)單解決辦法
- Vue3中pinia用法示例
- vue3+pinia用戶信息持久緩存token的問(wèn)題解決
- Vue中TypeScript和Pinia使用方法
相關(guān)文章
Vue引入ElementUI并使用的詳細(xì)過(guò)程
Element UI是一個(gè)基于Vue 2.0的桌面端組件庫(kù),旨在構(gòu)建簡(jiǎn)潔、快速的用戶界面,這篇文章主要介紹了Vue如何引入ElementUI并使用,需要的朋友可以參考下2024-06-06詳解auto-vue-file:一個(gè)自動(dòng)創(chuàng)建vue組件的包
這篇文章主要介紹了auto-vue-file:一個(gè)自動(dòng)創(chuàng)建vue組件的包,需要的朋友可以參考下2019-04-04vue+element table表格實(shí)現(xiàn)動(dòng)態(tài)列篩選的示例代碼
這篇文章主要介紹了vue+element table表格實(shí)現(xiàn)動(dòng)態(tài)列篩選的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01vue3實(shí)現(xiàn)國(guó)際化的過(guò)程與遇到的問(wèn)題詳解
像很多大型的網(wǎng)址,特別是跨國(guó)際等公司網(wǎng)頁(yè),訪問(wèn)來(lái)自世界各地用戶,所以網(wǎng)頁(yè)的國(guó)際化極其重要的需求,這篇文章主要給大家介紹了關(guān)于vue3實(shí)現(xiàn)國(guó)際化的過(guò)程與遇到的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-05-05