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)
相关推荐
qqty12171 小时前
Java进阶学习之路
java·开发语言·学习
WHS-_-20221 小时前
Python 算法题学习笔记一
python·学习·算法
_李小白1 小时前
【OSG学习笔记】Day 22: StateSet 与 StateAttribute (渲染状态)
笔记·学习
Arya_aa2 小时前
网络:前端向后端发送网络请求渲染在页面上,将EasyMock中的信息用前端vue框架编写代码,最终展示在浏览器
前端·vue.js
zzh0812 小时前
Mysql数据库备份与恢复笔记
数据库·笔记·mysql
TorrieLeung2 小时前
碎片学习|外贸tob 一手交钱一手交货
学习·tob·外贸销售·工地英语
timi先生2 小时前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
雨雨雨雨雨别下啦3 小时前
Vue3——RabbitShopping
前端·javascript·vue.js
丝斯20114 小时前
AI学习笔记整理(79)——Python学习8
人工智能·笔记·学习
Z.风止4 小时前
Large Model-learning(2)
开发语言·笔记·python·leetcode