Vue学习笔记-消息订阅与发布(pubsub)

消息订阅与发布(pubsub)

  1. 一种组件间的通信方式,适用于任意组件间通信

  2. 使用步骤:

    1. 安装pubsub第三方库npm i pubsub-js

    2. 在组件中引入import pubsub from 'pubsub-js'

    3. 数据接收方(A组件):A组件订阅消息,并且订阅消息的回调函数留在A组件自身

    javascript 复制代码
    methods:{
    	/*
    	自定义回调函数,第一个参数为订阅的消息名称,第二个参数为消息发布方发布的数据
    	*/
    	callFun(msgName,data){
    		...
    	}
    ]
    mounted(){
    	/*订阅消息,第一个参数为自定义的消息名称,
    	第二个参数为自定义的回调函数
    	(如果写匿名函数,需要写成箭头函数,这样能保证this对象是Vue实例)
    	返回值为订阅消息的id,将其赋给Vue实例,方便以后销毁
    	*/
    	this.pubid = pubsub.subscribe('msgName',this.callFun)
    },
    beforeDestory(){
    	//建议在组件销毁时取消订阅
    	pubsub.unsubscribe(this.pubid)
    }
    1. 数据传递方(B组件):B组件发布消息-->在需要传递数据的函数中添加如下代码:
    javascript 复制代码
    pubsub.publish('msgName',data)
相关推荐
HaiQinyanAN3 分钟前
【学习笔记】重载和重写的注意事项
c++·笔记·学习
Thanks_ks12 分钟前
探索现代 Web 开发:从 HTML5 到 Vue.js 的全栈之旅
javascript·vue.js·css3·html5·前端开发·web 开发·全栈实战
BillKu14 分钟前
Vue3本地存储实现方案
vue.js
梦境虽美,却不长21 分钟前
C语言 学习 文件操作(开关,读写,定位,大小)操作 2025年6月8日12:19:24
c语言·开发语言·学习
yifa2016040430 分钟前
STM32、Arduino和51单片机
stm32·学习·51单片机
Whbbit199935 分钟前
如何使用 Vue Router 的类型化路由
前端·vue.js
不爱说话郭德纲1 小时前
🔥Vue组件的data是一个对象还是函数?为什么?
前端·vue.js·面试
前端工作日常1 小时前
学习 Github Actions 如何安全管理敏感信息
vue.js
蓝胖子的多啦A梦3 小时前
搭建前端项目 Vue+element UI引入 步骤 (超详细)
前端·vue.js·ui
nenchoumi31194 小时前
UE5 学习系列(五)导入贴图资产
学习·游戏·ue5·机器人