zoukankan      html  css  js  c++  java
  • Vuex 模块化 命名空间 语法糖

    修改store.js

    const countAbout = {
      namespaced: true, // 开启命名空间
      state: { x: 1 },
      mutations: { ... },
      actions: { ... },
      getters: {
        bigSum(state) {
          return state.sum * 10
        }
      }
    }
    
    const personAbout = {
      namespaced: true, // 开启命名空间
      state: { x: 1 },
      mutations: { ... },
      actions: { ... }
    }
    
    const store = new Vuex.Store({
      modules: {
        countAbout,
        personAbout
      }
    })
    

    开启命名空间后,组件中读取state数据

    // 方式一,自己直接读取
    this.$store.state.personAbout.list
    // 方式二,借助mapState读取
    ...mapState('countAbout', ['sum', 'school', 'subject'])
    

    开启命名空间后,组件中读取getters数据

    // 方式一,自己直接读取
    this.$store.getters['personAbout/firstPersonName']
    // 方式二,借助mapGetters读取
    ...mapGetters('countAbout', ['bigSum'])
    

    开启命名空间后,组件中调用dispatch

    // 方式一,自己直接dispatch
    this.$store.dispatch('personAbout/firstPersonName', person)
    // 方式二,借助mapActions
    ...mapActions('countAbout', { incrementOdd: 'jiaOdd', incrementWait: 'jiaWait' })
    

    开启命名空间后,组件中调用commit

    // 方式一,自己直接commit
    this.$store.dispatch('personAbout/ADD_PERSON', person)
    // 方式二,借助mapMutations
    ...mapMutations('countAbout', { increment: 'JIA', decrement: 'JIAN' })
    
    完结~
  • 相关阅读:
    SQL2008-显示表大小行数
    SQL2008-备份SQL数据库的语句
    SQL2008-截取字段函数
    SQL2008-字符转数字CAST和CONVERT
    SQL2008-查询库中是否存在某表
    SQLServer 2000个人版下载
    SQL2008-不同数据库之间的触发器
    SQL2008--行号的得到
    Microsoft Visual Stduio 2005 Ent安装报错解决方法
    zlib快速编译脚本
  • 原文地址:https://www.cnblogs.com/lwlblog/p/15192739.html
Copyright © 2011-2022 走看看