摸鱼少学习多

day83-消息的订阅与发布

消息的订阅与发布

一种组件之间通信的方式,适用于各种组件通信

安装pubsub库用来订阅和发布消息

首先引入pubsub库

 import pubsub from "pubsub-js";

 

订阅消息(school组件)

 
复制代码
methods:{
   demo(msgName,data){
     console.log('hello 回调',msgName,data)
   }
 },
 mounted() {
   // console.log('school',this)
   // this.$bus.$on('hello',(data)=>{
   //   console.log('school get ',data)
   // })
   this.pubId = pubsub.subscribe('xixi',this.demo)
 },
 beforeDestroy() {
   // this.$bus.$off('hello')
   pubsub.unsubscribe(this.pubId)
 }
复制代码

 

发送消息(student组件)

 methods:{
   sendStudentName() {
     // this.$bus.$emit('hello',this.name)
     pubsub.publish('xixi',666)
   }
 }

 

总结

复制代码
 /*
  消息的订阅预发布
   1.一种组件之间通信的方式,适用于任意组件间通信
   2.使用步骤:
     1.安装pubsub:npm i pubsub-js
     2.引入:import pubsub from 'pubsub-js'
     3.接收数据:a组件想接收数据,则在a组件中订阅消息,消息的回调在a组件自身
       methods(){
         demo(data){......}
       }
       .....
       mounted(){\
       this.pid = pubsub.subscribe('xxx',this.demo)//订阅消息
       }
       4.提供数据: pubsub.publish('xxx',数据)
       5.最好在beforedestroy钩子中用pubsub.unsubscribe(pid) 去取消订阅
 */
复制代码

 

 
posted @   北海之上  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示