在第1节我们已经写了一个 const state ,这个就是我们说的访问状态对象,它就是我们SPA(单页应用程序)中的共享值。今天我们主要学习状态对象赋值给内部对象,也就是把stroe.js中的值,赋值给我们模板里data中的值。我们有三种赋值方式,我们一个一个来学习一下。
一、通过computed的计算属性直接赋值
computed属性可以在输出前,对data中的值进行改变,我们就利用这种特性把store.js中的state值赋值给我们模板中的data值。
1
2
3
4
5
|
computed:{
count(){
return this.$store.state.count;
}
}
|
这里需要注意的是return this.$store.state.count这一句,一定要写this,要不你会找不到$store的。这种写法很好理解,但是写起来是比较麻烦的,那我们来看看第二种写法。
二、通过mapState的对象来赋值
我们首先要用import引入mapState。
1
|
import {mapState} from 'vuex';
|
然后还在computed计算属性里写如下代码:
1
2
3
|
computed:mapState({
count:state=>state.count
})
|
这里我们使用ES6的箭头函数来给count赋值。
三、通过mapState的数组来赋值
1
|
computed:mapState(["count"])
|
四、 用Es5方法赋值
computed:mapState({ //第五种Es5写法
count:function(state){
return state.count;
}
}),
这个算是最简单的写法了,在实际项目开发当中也经常这样使用。
这就是三种赋值方式,是不是很简单,虽然简单,但是在实际项目中经常使用,一定要自己动手练习两遍啊。