Vue如何使用Vuex封装并使用store


这篇文章主要介绍“Vue如何使用Vuex封装并使用store”,在日常操作中,相信很多人在Vue如何使用Vuex封装并使用store问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue如何使用Vuex封装并使用store”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!挂载store,this将自动生成$store属性创建store仓库:习惯在src下创建store文件夹,再创建index.js,内容:此时你已经有了一个空的store全局仓库,没有任何功能,但可以在任何vue实例下使用 this.$store 去访问它。store使用范围均是可以全局使用;let a=1; {a:a}.a 的缩写是 {a}.a,即当字典的键和值命名一样时,可以省略只写astate、getters、mutations、mutations均是Vuex封装好的特殊变量,以下声明的功能变量均是这些名字,一个好处是store挂载该功能时可以简写(如3-1,本例均如此)。当然你也可直接在store中写功能(如3-2)。给store仓库读取数据功能:state此时你的store仓库已经有了存取数据的功能,可以用 this.$store.state.themeColor 等数据了。下面是第二种写法给state功能升级,让他拥有计算能力(类似vue中的computed方法):getters:此时使用 this.$store.getters.getThemeColor 获取颜色,将自动根据时间的不同自动设置主题是否有透明的效果给store仓库使用函数功能(只为操作state数据):mutations – 同步此时可以使用 this.$store.commit(‘setThemeColor’,‘grey’,‘1’) 了(注意第一个参数是函数名,不是传参给state的,state自己会传,后两个才是对应传参)。可以主动设置主题色和透明度,操作是同步的,即如果你在同一个组件连续调用多免费云主机域名次setThemeColor函数,获取仓库中state.changeThemeCount的值是一样的,下面介绍异步函数。给store仓库的函数commit功能升级(只为异步操作mutations中的函数):actions – 异步此时可以使用 this.$store.dispatch(‘setThemeColorAction’,‘grey’,‘1’) 了(注意第一个参数是函数名,不是传参给context的,context自己会传,后两个才是对应传参)。可以主动设置主题色和透明度,操作是异步的,即如果你在同一个组件连续调用多次setThemeColorAction函数,获取仓库中state.changeThemeCount的值就不是一样的。此模式下所有的状态变更(即更新state)必须使用mutation(commit),如果在组件中直接修改state则会报错。这样的好处是所有的state的更新都体现在仓库中,整改方便;使用devTools调试工具时可以跟踪到状态的修改。第二个模块介绍了store仓库的四个功能:state、getters、mutations和actions,下面介绍第五个功能:modules。当项目比较大时,一个store中数据会非常多而复杂,不易管理。此时便可建多个“子仓库”,分别对应不同模块做数据的读取和操作。注意主仓库还是那一个,只要把他的“子仓库”放在主仓库的modules下即可。子仓库看着很像仓库,其实它并不是store的实例,不是仓库(new Vuex.Store()实例化后的对象才是仓库),只是一个普通js对象(字典)。1、在store下新建modules文件夹,在modules下新建home.js“子仓库”。即home.js只管主页下的数据(一般不要分的太细,最多一个页面一个仓库管简洁),下面是home.js代码2.“子仓库”创建完成,要让主仓库引用它:此时便有了第一个“子仓库”了!适合使用场景较少:建好仓库,组件中直接使用state、getters、mutations、actions:this.$store.state.*this.$store.getters.*this.$store.commit.*this.$store.dispatch.*适合使用场景频繁:使用mapGetters、mapActions 和 mapStates之前需要import导入:使用ES6新语法-超引用,将某个功能下的数据或方法全部映射出来以供使用,下面是mapState、mapGetters、mapActions的例子:mapState映射的三种写法到此,关于“Vue如何使用Vuex封装并使用store”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: java怎么将一个有序数组按是否连续进行分组

这篇文章主要介绍“java怎么将一个有序数组按是否连续进行分组”,在日常操作中,相信很多人在java怎么将一个有序数组按是否连续进行分组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么将一个有序数组按是否连续进行分组”…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/06 19:53
下一篇 03/06 20:33

相关推荐