vuex modules的用法


关于state、getters、actions的访问:

  • 直接访问

     this.$store.getters['tabsNav/allTabList']
     this.$store.state.tabsNav.tabList
     this.$store.dispatch('tabsNav/refreshPage', 1)

  • 借助mapState、mapGetters、mapActions

     methods: {...mapActions('tabsNav', ['closeTabs', 'refreshPage'])}
     computed: {...mapState('tabsNav', {tabList: state => state.tabList})}
     computed: {...mapGetters('tabsNav', {allTabList: 'allTabList'})}

引入mapState, mapGetters, mapActions:

    1、import {mapState, mapGetters, mapActions}  from 'vuex'

    2、import {createNamespacedHelpers }  from 'vuex' ;

         const {mapState, mapGetters, mapActions} = createNamespacedHelpers('tabsNav')

注册、触发全局action

// modules actions  
test: {
    root: true,
    handler(context, payload) {
      console.log(context)
      console.log(payload)
    }
  }

// 触发
this.$store.dispatch('test', null, { root: true })

其他

context: ==》 {dispatch, commit, getters, state, rootGetters, rootState}

双向绑定的state 使用计算属性的setter、getter

严格模式:new Vuex.Store({strict: true})  (不用于发布环境)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值