vue3.x使用vuex

55 篇文章 0 订阅

在vue3.x项目中需使用vuex4.x版本;

安装

直接下载/CDN
https://unpkg.com/vuex

npm /cnpm /yarn

npm install vuex@next --save
cnpm install vuex@next --save
yarn add vuex@next --save

项目中使用

在根目录下创建store文件夹,在store文件夹下创建index.js文件,在index.js文件中书写代码,与vue2.0中使用的vuex相差不大,直接上代码:

import { createStore } from 'vuex'

export default createStore({
    state: {
        count: 0
    },
    mutations: {
    // 进行数据更新,改变数据状态
        countType(state, action){
            state.count =  state.count + action.payload
        }
    },
    actions: {
    //执行动作,数据请求
        addCount({commit}){
            fetch('../data.json')
            .then(function(response) {
                return response.json();
            })
            .then(function(myJson) {
                let action = {
                    type: 'countType',
                    payload: myJson.text
                }
                commit(action)
            });
        }
    },
    getters: {
    // 获取到最终的数据结果
        getCount(state){
            return state.count
        }
    }
})

在main.js中

import store from './store'

createApp(App).use(store).mount('#app')

在组件中

<template>
    <div class="container">
        <button @click="add">{{data.count}}</button>
    </div>
</template>


import { reactive } from 'vue'
import { useStore } from 'vuex'
export default {
    setup(){
        let store = useStore()
        let data = reactive({
        	count: 0
        })
        onMounted(() => {
            store.dispatch('addCount')
        })
        let add = () => {
            store.dispatch('addCount')
            data.count = data.count = store.getters.getCount
        }
        return{
        	data,
            add
        }
    }
}

与vue2.x的差异

在store文件夹中

vue2.x
在这里插入图片描述
vue3.x
(http://www.smallxlb.com/wp-content/uploads/2021/01/2-2.png)

在main.js中

vue2.x
在这里插入图片描述
vue3.x
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值