Vuex 获取state对象中的值的所有方法(module中的state)

1.直接从store实例取值
// main.js中,把store注册在根实例下,可使用this.$stroe.state直接取值
export default {
  computed: {
    testNum() {
      return this.$store.state.testNum;
    }
  }
};
2.使用mapState取值的多种方法
import { mapState } from "vuex";

export default {
  data() {
    return { localNum: 1 };
  },
  computed: {
    ...mapState({
      // 箭头函数使代码更简练
      testNum1: state => state.testNum1,
      // 传字符参数'testNum2' 等价于 'state => state.testNum2'
      testNum2: "testNum2",
      // 组件的局部变量与Vuex变量相加
      testNum3(state) {
        return state.testNum1 + this.localNum;
      }
    }),
    ...mapState([
      // 映射this.testNum3为store.state.testNum3
      "testNum3"
    ])
  }
};
3.使用module中的state
import { mapState } from "vuex";

export default {
  computed: {
    ...mapState({
      // 箭头函数使代码更简练
      testNum1: state => state.moduleA.testNum1
    }),
    // 第一个参数是namespace命名空间,填上对应的module名称即可
    ...mapState("moduleA", {
      testNum2: state => state.testNum2,
      testNum3: "testNum3"
    }),
    ...mapState("moduleA",[
      "testNum4"
    ])
  }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值