vuex的初步使用

一:基础

如果搭建的是脚手架vue-cli4,搭建项目的过程中会提醒你配置vuex,并且也会自动在main.js中引入,不需要自己手动引入

生成之后的目录

 

 index.js为一个总入口,文件里我定义了state、mutations和actions

 

 组件中使用。

 备注(监听数据变化的时候,不要滥用ES6箭头函数,不然指针错误)

 

 

页面中调用触发

 

 

getters 的用法:

getter相当于一个计算属性,可以对state里的数据做一些逻辑计算、数据筛选,它的返回值会根据它的依赖缓存起来,只有当它的依赖值发生改变的时候才会从新计算
① 通过属性访问

 

 访问调用:

 

 ② 通过方法访问(注意:通过方法访问,不会缓存结果)

 

 调用

 

 二、辅助函数

vuex提供了辅助函数处理庞大的vuex数据,mapState,mapGetters,mapMutations,mapActions,实际就是把state、getters、mutations、actions整合成一个数组,一次性返回

注意:...mapState[name],...mapGetters[name]  name 为 state 对象的属性,页面引入之后放入计算属性中,便于页面引用

1、mapState 和 mapGetter

页面引入

 

 ...mapState(['students'])  放在compted中,相当于把 store 中的 students 对象映射到本页面的 data 属性中,在本页面使用的时候直接用 this.students

注意有两种写法:

 

 

 

 

   store源数据

   

console.log(students)结果:

  

 

页面展示

 

mapMutations 
mapMutations 是this.$store.commit 的辅助函数,只能在method中使用,因为本来就去触发事件,也有两种写法

 

 调用:edit方法和newStatus方法要在一个事件中触发,我这里是写了一个点击事件changeType

 

 

 

mapAction 正在研究中,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

posted @ 2020-05-08 15:25  尼古拉斯-富贵  阅读(144)  评论(0编辑  收藏  举报