Vuex之state

我们已经把vuex的结构给建起来了,那么我们怎么在各个组件中使用vuex的状态呢?那就是通过state。

我们都知道state是vuex的数据中心,那么我们页面可以直接使用,不管是标签还是js里面都可以这样使用:

this.$store.state.test

然后官网推荐从 store 实例中读取状态最简单的方法就是在计算属性中返回某个状态:

computed: { test () { return this.$store.state.test }}

然后就可以直接使用this.test了。

如果数据有点多,这样的计算属性书写会有点冗余,vuex提供了mapState辅助函数生成计算属性。

数组:

computed: mapState(['test','mapState'])

对象:

computed: mapState({ test: state => state.test, mapState: state => state.mapState,})

跟本地计算属性混合使用;

computed: {
        localComputed(){
            return '这是局部计算属性'
        },
        ...mapState(['test', 'mapState']),
        ...mapState(
            {
                test1: state = > state.test + 'test1',
                mapState1:state =>state.mapState + 'mapState1'
            } 
        )
    }
复制代码

上面的几个方法不管是在标签还是js里面都可以直接通过this.调用相对应的数据。

还有一个最简单,但是不推荐使用的方法,直接赋值修改:

this.$store.state.test = '直接修改'

欢迎关注Coding个人笔记 公众号

转载于:https://juejin.im/post/5c54fcddf265da2dd37bf1f0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值