当前位置: 首页 > 编程笔记 >

解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题

蓬弘
2023-03-14
本文向大家介绍解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题,包括了解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题的使用技巧和注意事项,需要的朋友参考一下

前言

最近博主正在用微信小程序开发一款网上商城系统。恰好赶上了美团开源的小程序开发框架mpvue。该框架继承了vue.js的特性,用起来还是蛮爽的。然后在开发中,数据仓库这块懵逼了, 引入的vuex的辅助函数mapState、mapGetters、mapMutations、mapActions等怎么就不能用呢。苦恼之际打开D盘,一番愉悦之后,终于想通啦…

问题分析

•vuex辅助函数

 首先简单说一下vuex的辅助函数mapState、mapGetters、mapMutations、mapActions,我们在子组件经常用到很多状态量,为了避免过分的使用this.$store.state.xxx、this.$store.dispatch导致的冗余问题,我们用辅助函数来使代码变得简洁易读。注意了,它就相当于语法糖似的,实际上还会映射为this.$store.吧啦吧啦

•vue-cli + vuex项目

 在一般的vue-cli + vuex项目中,主函数 main.js 中会将 store 对象提供给 “store” 选项,这样可以把 store 对象的实例注入所有的子组件中,从而在子组件中可以用this.$store.state.xxx、this.$store.dispatch 等来访问或操纵数据仓库中的数据

new Vue({
el: '#app',
store,
router,
template: '<App/>',
components: { App }
})

•mpvue + vuex项目

 注意了,在mpvue + vuex项目中,很遗憾不能通过上面那种方式来将store对象实例注入到每个子组件中(至少我尝试N种配置不行),也就是说,在子组件中不能使用this.$store.吧啦吧啦,从而导致辅助函数不能正确使用。这个时候我们就需要换个思路去实现,要在每个子组件中能够访问this.$store才行。

解决办法

这里呢,博主使用的方法很简单,既然我们需要在子组件中用this.$store 访问store实例,那我们直接在vue的原型上添加$store属性指向store对象不就行啦,抱着试一试的心态写了下面这行代码。

Vue.prototype.$store = store

这样一来我们在子组件中便可以用this.$store访问对象。确实也解决了辅助函数不能使用的问题。

总结

以上所述是小编给大家介绍的解决mpvue + vuex 开发微信小程序 vuex辅助html" target="_blank">函数mapState、mapGetters不可用问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • Uniapp开发微信小程序:在onLaunch 调用 this.$store.commit('setToken', token),执行vuex的actions请求http(用的是uv-ui封装的http),会报错,有大佬指点一下吗?

  • 本文向大家介绍微信小程序云开发之云函数详解,包括了微信小程序云开发之云函数详解的使用技巧和注意事项,需要的朋友参考一下 在上一章我们已经配好了环境,这章我们按照模板的顺序去执行提供的案例,对官方文档进行一个实践操作。 首先我们点击”点击获取 openid “文字,发现控制台报错: 云函数 调用失败 Error: errCode: -404011 cloud function execution e

  • 本文向大家介绍mpvue+vuex搭建小程序详细教程(完整步骤),包括了mpvue+vuex搭建小程序详细教程(完整步骤)的使用技巧和注意事项,需要的朋友参考一下 本文介绍了mpvue+vuex搭建小程序详细教程(完整步骤),分享给大家,具体如下: 源码 mpvue-vuex-demo 构成 1、采用mpvue 官方脚手架搭建项目底层结构 2、采用Fly.js 作为http请求库 3、引入mpvu

  • 本文向大家介绍微信小程序开发问题之wx.previewImage,包括了微信小程序开发问题之wx.previewImage的使用技巧和注意事项,需要的朋友参考一下 小知识 wx.previewImage是微信小程序官方提供的预览图片功能的api。 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。 那么他有哪些坑呢? 我遇到的问题藏得比较深,我是在使用wxParse解析富

  • 本文向大家介绍微信小程序云开发之使用云函数,包括了微信小程序云开发之使用云函数的使用技巧和注意事项,需要的朋友参考一下 在之前的几篇文章里面介绍了下云开发中的云数据库、云存储: 微信小程序如何使用云开发 微信小程序之使用云存储 微信小程序之使用云数据库 接下来的这篇文章主要介绍下云函数,介绍这个云函数的主要用途是因为要解决从云数据库查询数据最多显示20条的限制,而使用到云函数可以解决这种限制,使用

  • 本文向大家介绍微信小程序 Page()函数详解,包括了微信小程序 Page()函数详解的使用技巧和注意事项,需要的朋友参考一下 微信小程序——Page():          在开发微信小程序的时候遇到函数,或者不明白的地方,最好上官网查询,相应的知识,这里小编帮大家整理了下page()函数的用法。 Page() 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函