当前位置: 首页 > news >正文

vue脚手架 vuex模块化和四大辅助函数的结合使用

目录

01 四大辅助函数结合vuex模块化的使用

02 event-bus事件总线的使用


 

01 四大辅助函数结合vuex模块化的使用

        mapState 在映射模块化带有命名空间的使用步骤:

        方式一:(重要)

                ...mapState('模块名1',['该模块的变量1','该模块的变量2'....])

                ...mapState('模块名2',['该模块的变量1','该模块的变量2'....])

                如果渲染了多个模块的变量到当前组件里面 必须写多个...mapState

        方式二:(了解)

                ...mapState({

                       自定义变量名1:state=>state.模块名.该模块的变量1,

                       自定义变量名1:state=>state.模块名.该模块的变量2,

                })

        方式三(了解):

                ...mapState('模块名1',{

                        自定义变量名1:state=>state.该模块的变量名1,

                        ...

                })

                ...mapState('模块2',{

                        自定义变量名1:state=>state.该模块的变量名1,

                        自定义变量名2:state=>state.该模块的变量名2,

                        ...

                })

        mapGetters 在映射模块化带有命名空间的使用步骤:

        方式一:(重要)

                ...mapGetters('模块名1',['该模块的变量1','该模块的变量2'....])

                ...mapGetters('模块名2',['该模块的变量1','该模块的变量2'....])

                如果渲染了多个模块的变量到当前组件里面 必须写多个...mapGetters

        方式二:(了解)

                ...mapGetters({

                       自定义变量名1:state=>state.模块名.该模块的变量1,

                       自定义变量名1:state=>state.模块名.该模块的变量2,

                })

        方式三(了解):

                ...mapGetters('模块名1',{

                        自定义变量名1:state=>state.该模块的变量名1,

                        ...

                })

                ...mapGetters('模块2',{

                        自定义变量名1:state=>state.该模块的变量名1,

                        自定义变量名2:state=>state.该模块的变量名2,

                        ...

                })

        mapMuattions结合命名空间进行映射:

        方式一:(不常用)

                ...mapMutations(['模块名/方法名'])  调用时 this.['模块名/方法名'](传参)

        方式二:(常用)

                ...mapMutations('模块名',['该模块下的方法名'])  调用时: this.该模块下的方法名(传参)

        mapActions结合命名空间进行映射:

        方式一:(不常用)

                ...mapActions(['模块名/方法名'])  调用时 this.['模块名/方法名'](传参)

        方式二:(常用)

                ...mapActions('模块名',['该模块下的方法名'])  调用时: this.该模块下的方法名(传参)

02 event-bus事件总线的使用

        vuex最大的弊端就是太笨重  只适合大型项目

        如果小型项目想要进行传参: 可以父子组件传参  路由传参 地址栏拼接,

        session/local/cookie进行传参 组先组件给后代传参(后期讲)  event-bus(事件总线)。

        event-bus事件总线:

                原理就是: 事件的发布订阅模式

                订阅就是关注  发布就是直播

                vue对象.$on( ) 事件订阅(关注)

                vue对象.$emit( ) 事件发布(直播)

           需要找到一个空的vue对象 专门用来发布和订阅的

           目前main.js里面创建的这个new Vue是vue对象  但是这个vue对象已经做了很多事情了,

           所以需要找一个空的vue对象专门处理发布,订阅功能

                订阅事件:(需要在事件发布之前)

                vue对象.$on('要发布的事件名称','事件驱动函数')

                驱动函数里面接收事件发布者传递的数据

                发布事件:

                vue对象.$emit('要发布的事件名称', 传参1,传参2...)

        

相关文章:

  • kafka学习笔记07
  • 【CSS】background-origin作用是什么,怎么使用
  • DAY 45 企业级虚拟化技术KVM
  • Web爬虫-edu_SRC-目标列表爬取
  • 精华版 | 2024 Q1全球威胁报告一览
  • 现实网络中排障经验
  • 二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面
  • 信息论与大数据安全知识点
  • 「ClickHouse 极简教程」分布式下的 IN/JOIN 及 GLOBAL关键字
  • jQuery 样式操作
  • leetCode-hot100-链表专题
  • 怎么开启22端口访问权限,让别的机器通过ssh或者向日葵等远程控制工具链接
  • 计算机网络实验(鲁东大学)-cisco-逃课
  • 类Copy方法:BeanUtils.copyProperties
  • Windows系统电脑远程桌面控制本地局域网内树莓派详细教程
  • [LeetCode] Wiggle Sort
  • angular2开源库收集
  • canvas 五子棋游戏
  • eclipse的离线汉化
  • java8 Stream Pipelines 浅析
  • JavaScript DOM 10 - 滚动
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 多线程 start 和 run 方法到底有什么区别?
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 配置 PM2 实现代码自动发布
  • 巧用 TypeScript (一)
  • 手机端车牌号码键盘的vue组件
  • 数据仓库的几种建模方法
  • 【云吞铺子】性能抖动剖析(二)
  • 1.Ext JS 建立web开发工程
  • 阿里云移动端播放器高级功能介绍
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ![CDATA[ ]] 是什么东东
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #{}和${}的区别?
  • #pragma data_seg 共享数据区(转)
  • (6)添加vue-cookie
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (笔试题)分解质因式
  • (差分)胡桃爱原石
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (原)Matlab的svmtrain和svmclassify
  • (转)h264中avc和flv数据的解析
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (自用)网络编程
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .net dataexcel 脚本公式 函数源码
  • .NET 回调、接口回调、 委托
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET多线程执行函数
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验