vue中store状态管理 映射

本文介绍了在Vue.js应用中如何设置和使用Vuex进行状态管理。首先在项目主目录创建store目录,然后在store目录下创建一个js文件,定义状态和操作。接着在main.js中引入并挂载到全局。访问store中的数据有三种方式:通过this.$store.state直接访问,使用计算属性,或者利用mapState、mapGetters、mapMutations、mapActions等辅助函数简化代码。

一、在主目录下新建一个store目录。

二、在store目录下新建一个js文件,文件内容如下。

三、需要在main.js中将此状态管理挂载到全局

import store from '@/store/info.js'
uni.$store = store

const app = new Vue({
    store,
    ...App
})

四、获取store中的数据

一共有三种方法可以访问info.js文件。

①直接通过this.$store.state.nickname方式就可访问到store中的nickname的值。

    通过this.$store.commit('addAge', {number: 5})方式调用store里的同步方法。

    通过this.$store.dispatch()方式调用store里的异步方法。

②通过计算属性,直接通过{{nickname}}访问store里state里的属性。

computed:{
             nickname(){
                 return this.$store.state.nickname;
             }

 }

③通过辅助函数mapState、mapGetters、mapMutations、mapActions

记住:用mapState等这种辅助函数的时候,前面的方法名和获取的属性名是一致的。

computed: {
            ...mapState(['nickname', 'age', 'gender']),
            ...mapGetters(['realname', 'money_us']),   
        }

methods: {

        ...mapMutations(['addAge']),

}

<template>里就可以直接通过{{nickname}},addAge({number:5})访问,在methods里就可以通过this.addAge({number:5})访问。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值