24-vue中组件的通信方式之一:消息的订阅与发布的使用pubsub、 pubsub-js库的安装

1.pubsub-js库的安装

使用 消息订阅与发布,先在对应的项目中Terminal里安装pubsub-js库

1、查看pubsub-js 库是否已经存在该库命令:

npm info pubsub-js

2、若不存在,则先安装pubsub-js 库,命令如下:

npm install --save pubsub-js

**注意:**上面两条命令,在vue项目的终端Terminal中输入

2.消息的订阅与发布的使用

优点:

  消息订阅与发布 优点: 父子通信 、逐层通信、兄弟组件通信 等等都可以,没有"位置"上的限制,摆脱逐层传递的限制, 直接进行跨组件传递信息(例如函数的调用)

理解:
  订阅消息 相当于 绑定事件监听(并执行函数体)
  发布消息 相当于 触发事件

使用:

  ①消息的订阅:PubSub.subcribe(“函数名”,(msg,函数参数)=>{
函数体//可以在methods中声明定义
})
  ②消息的发布:PubSub.publish(“函数名”,函数参数)
  ③ 使用方法前,先引入pubsub-js库:
         “import PubSub from “pubsub-js”;”

代码示例:

父组件代码:
import PubSub from "pubsub-js";
mounted () {//执行异步代码
  	//订阅消息    subcribe("事件名",回调函数<尽量使用箭头函数,调用外部的this>)
	PubSub.subcribe("事件名",(msg,index)=>{   // msg:事件名
	函数体 //可以在methods中声明定义
})
子组件代码:
import PubSub from "pubsub-js";
methods:{
	// 发布消息
	PubSub.publish("deleteTodo",index);
}
Vue使用pubsub-js的步骤如下: 1. 首先,在项目安装pubsub-js。可以使用npm或yarn命令进行安装,例如:npm i pubsub-js 或 yarn add pubsub-js。 2. 在需要发布消息组件和需要订阅消息组件引入pubsub-js。可以使用import语句导入pubsub-js,例如:import pubsub from 'pubsub-js'。 3. 在Vue的Main.js文件执行PubSub的全局注册。可以使用import语句导入PubSub,并将其挂载到Vue的原型上,以便在所有组件都能访问到pubsub-js的功能。例如:Vue.prototype.PubSub = PubSub。 4. 在发布消息组件使用this.publish方法来发送消息。例如:this.publish("msg", "要发送的消息")。其,msg是必须的参数,用于指定消息的标识符,要发送的消息可以作为第二个参数传递。 5. 在订阅消息组件使用this.subscribe方法来接收消息。例如:this.subscribe("msg", (msg, data) => { // 接收的数据 alert(data) })。其,msg参数是订阅消息的标识符,data参数是接收到的消息的数据。 6. 如果需要取消某个订阅,可以使用pubsub.unsubscribe方法。具体的取消订阅的操作可以根据实际需求进行编写。 综上所述,以上是在Vue使用pubsub-js的步骤。通过这些步骤,你可以在Vue项目实现消息发布订阅功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue学习(十六)消息订阅发布pubsub-js)](https://blog.csdn.net/qq_29107721/article/details/125349357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [一、PubSubVue使用方式](https://blog.csdn.net/weixin_52834606/article/details/124636609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值