vue中使用发布订阅的方式进行vue组件之间的通信,2024年最新项目实践报告

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

npm install --save pubsub-js

2.以实例说明pubsub的用法

在这里插入图片描述

  • 在上图中,我们头部header需要向后台发送关键字,后台根据得到的关键字进行相应的操作,返回项目需要的数据,main组件就是需要利用返回后台的数据据,进行页面的渲染(这要明白,发送ajax请求必然是在main组件中,header组件的作用是将关键字传给main组件,卖弄组件向后台发送ajax请求,返回数据,再进一步渲染)

  • 因此,这便涉及到组件之间的通信,pubsub-JS就是用来实现组件之间的通信的

  • 由于header与mian的关系是兄弟关系,若使用props属性,需要借助父组件来实现,pubsub(也是我们所说的订阅消息与发布消息)跨越组件之间的关系进行通信。

  • 因此我们在header中点击搜索时会通知main组件向后台发送ajax请求,因此在header中发布消息(触发),在main中订阅消息(监听)

2.1具体代码如下:

在这里插入图片描述

  • 其中,search点击时,按钮的点击回调函数中去发布消息

发布消息的方法是PubSub.publish(),需要通过提供两个参数,参数一为”发布的消息名“,第二个参数是搜索框中输入的关键字”searchName“参数,在main组件中订阅消息是便可以接收到该参数,进而向后台发送ajax请求;

  • 在main组件的生命周期函数mounted(页面加载完成时)订阅消息,订阅消息时PubSub.subscribe()方法,这里接收两个参数,”发布消息名“,”事件监听函数“,这里的事件监听函数需要两个参数:一个时msg(发布的消息名,无用),一个时searchName(发布者传来的参数),我们在事件监听里面发送ajax请求,更新页面

在main组件的代码如下

在这里插入图片描述

全部实现代码如下:

  • header.vue组件的相关代码

Search GitHub Users

<input type=“button” value=“Search” class=“btn btn-primary” placeholder=“请输入 github 用户名” @click=“search”>

  • main组件的相关代码

请输入搜索用户的名称

loading

{{errormsg}}

{{user.name}}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值