vue3 使用vuex以及数据持久化

目录

1.创建文件 src/store/index.js

2.npm 安装

3.在创建的index.js 文件内写入:

4.在main.js文件里面引入注册vuex

5.(xxx.vue) 组件中调用 vuex方法


1.创建文件 src/store/index.js

2.npm 安装

   安装vuex命令 :npm install vuex@next --save 

   安装持久化命令 :npm install --save vuex-persistedstate

3.在创建的index.js 文件内写入:

// 引入vuex
import { createStore } from 'vuex';

// 引入持久化
import createPersistedState from 'vuex-persistedstate';

const store = createStore({

    // 定义数据
    state: {

        info: '',

    },

    //同步方法
    mutations: {

        updateInfo(state, payload) {

            state.info = payload;

        }
    },

    //异步方法
    actions: {

        updateInfoSaync(context, payload) {

            //               同步方法	  内容
            context.commit('updateInfo', payload);

        }
    },

    //计算属性
    getters: {},

    //模块
    modules: {},

    //持久化数据
    plugins: [

        createPersistedState({

            key: 'vuex', // 存储是的名字

            // 也可以是sessionstorage

            storage: window.localStorage

        })
    ]

})

// 抛出
export default store;

4.在main.js文件里面引入注册vuex

import store from './store' // 引入store/index.js 文件

const app = createApp(App)

app.use(store) //注册vuex

app.mount('#app')

5.(xxx.vue) 组件中调用 vuex方法

<script>

import {useStore} from 'vuex'
import { onMounted } from "vue";

exportdefault{
	setup(){

        let store = useStore();

        onMounted(()=>{

            //调用 vuex 异步存储方法

				        // 异步存储中的方法名
	        store.dispatch('updateInfoAsync','修改后的值');

        })
	
	}
}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热乎劲的小仓库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值