ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue.js3:用mitt发送接收事件消息(vue@3.2.6 / mitt@3.0.0)

2022-02-19 09:01:51  阅读:219  来源: 互联网

标签:vue mitt storeweb 3.2 data event


一,安装mitt库:

1,安装
liuhongdi@lhdpc:/data/vue/storeweb$ npm install -S mitt
2,查看安装后的版本:
liuhongdi@lhdpc:/data/vue/storeweb$ npm list mitt
storeweb@0.1.0 /data/vue/storeweb
├─┬ element-plus@1.1.0-beta.7
│ └── mitt@2.1.0
└── mitt@3.0.0

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,js代码 

1,封装库: event/event.js
import mitt from 'mitt'
const VueEvent = mitt();
export default VueEvent;
2,发送消息
import VueEvent from '../event/event’

//发送消息给navbar,修改navbar的背景色和logo
VueEvent.emit("navbarSetting",res.data.setting);
3,接收消息 NavBar.vue
import VueEvent from '@/event/event’
setup () {
    const logoSrc = ref("");
    logoSrc.value = sessionStorage.getItem('logoSrc');
    onMounted(()=>{
          VueEvent.on("navbarSetting", data => {
       //alert('navbarSetting');
       var setting = data;
       //设置 navbar的背景色
         document.body.style.setProperty('--navbar-background', setting.navBarColor);
         sessionStorage.setItem('logoSrc',setting.logoImageUrl);
         logoSrc.value = setting.logoImageUrl;
       });
    });
 
     return {
         logoSrc,
     }
  },

三,测试效果

1,未发送消息: 2,增加发送消息后:

四,查看vue.js的版本:

liuhongdi@lhdpc:/data/vue/storeweb$ npm list vue
storeweb@0.1.0 /data/vue/storeweb
├─┬ @vue/cli-plugin-babel@4.5.13
│ └─┬ @vue/babel-preset-app@4.5.13
│   └── vue@3.2.6 deduped
├─┬ element-plus@1.1.0-beta.7
│ └── vue@3.2.6 deduped
├─┬ vue-router@4.0.11
│ └── vue@3.2.6 deduped
├── vue@3.2.6
└─┬ vue3-carousel@0.1.27
  └── vue@3.2.6 deduped 

 

标签:vue,mitt,storeweb,3.2,data,event
来源: https://www.cnblogs.com/architectforest/p/15911866.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有