vuex的拆分

说明

vuex主要用来进行统一状态管理。随着项目的增大,vuex中的js文件会变得越来越大,越来越冗余,代码的可维护性自然也就变得很差。

所以这个时候就需要进行vuex的分层。

store拆分

可以在项目创建的初期,在store目录中分别创建state.jsactions.jsmutations.jsgetters.js文件。
然后在store目录下的index.js中将其他js文件引入。
如下:

// store/index.js 
import state from './state'
import getters from './getters'
import mutations from './mutations'
import actions from './actions'


 const store = new Vuex.Store({
   state,
   getters,
   mutations,
   actions
 });

通过modules来进行拆分

除了上述的这种拆分的方式,还可以通过modules来进行拆分。
例如:

// store/demo/index.js
const Demo = {
    state() {
        return {
            a: 100,
            b: 200
        }
    },
    actions: {
        sayHello() {
            console.log('this is demo actions')
        }
    }
}

export  default Demo
// store/index.js 
import Demo from "./demo/index"

...
modules: {
    demo: Demo
  }
...

需要注意的是,想要取得demo中的a和b,需要采用this.$store.state.demo.a这种写法。
方法则比较简单,this.$store.dispatch('sayHello')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值