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)
相关推荐
阿恩.7703 分钟前
前沿科技计算机国际期刊征稿:电子、AI与网络计算
人工智能·经验分享·笔记·计算机网络·考研·云计算
进击的野人5 分钟前
一个基于 Vue 的 GitHub 用户搜索案例
前端·vue.js·前端框架
代码游侠16 分钟前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
+VX:Fegn089519 分钟前
计算机毕业设计|基于springboot + vue职位管理推荐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
龘龍龙24 分钟前
Python基础学习(六)
开发语言·python·学习
前端码农一枚40 分钟前
Vue3+TypeScript实现手机扫码功能
vue.js·typescript
悠哉悠哉愿意40 分钟前
【EDA学习笔记】电子技术基础知识:基本元件
笔记·嵌入式硬件·学习·eda
不解风水41 分钟前
【教程笔记】KalmanFilter
笔记·学习·算法·矩阵·ekf
ZSandGQ1 小时前
简支梁ANSYS加载模拟
经验分享·笔记
Ceeeeen1 小时前
【学习记录】ubuntu22.04系统如何从nvidia535驱动更换为580
学习