2

在vue的官方文档中,我们能看到状态管理这么一小节。
这一小节讲得非常简单,以至于我们很容易就忽略掉,以为这只是vuex的引文。
实际上,vue提供了一个简单的状态管理的方法,不需要引入重量级的vuex,却能获得类似vuex的体验。以下简单讲讲我理解的用法:
首先我们先创建一个store.js文件:

export default {
    // 这是用来存放值的地方,比如我们要存id值,默认为0
    state : {
        id : 0
    },
    这是暴露在外面的方法,可以用来操作值
    set (value) {
        this.state.id = value;
    }
}

之后需要在用到的地方进行引入:

import store from '../../vuex/storeModule'

然后便可以这样来使用store:

data () {
    return {
        id: store.state
    }
}
methods : {
    setid (value) {
        store.set(value)
    }
}

看起来就和vuex很像。但是和vuex的区别在于,这是一个局部的vuex,而不是全局的。


回头想了一下,这好像并不是vue提供的store模式,而是模块化自带就有的东西,和vue没有任何关系。应该说,vuex的实现,大体上也是基于这样子的模式。因此我们这种写法就是模拟了一个简单版的vuex。
此处存疑,待之后继续深究。


Edward
54 声望3 粉丝

宁可十年不将军,不可一日不拱卒