返回顶部
首页 > 资讯 > 前端开发 > 其他 >一文浅析vue中消息订阅与发布的使用方法
  • 927
分享到

一文浅析vue中消息订阅与发布的使用方法

Vue 2023-05-14 22:05:21 927人浏览 安东尼
摘要

什么是消息订阅与发布?怎么使用?下面本篇文章给大家介绍一下Vue中消息订阅与发布的使用方法,希望对大家有所帮助!1.什么是消息订阅与发布消息订阅与发布是一种组件间通信的方式,适用于任意组件间通信。能更好的实现组件间通信(消息订阅与发布就像是

什么是消息订阅与发布?怎么使用?下面本篇文章给大家介绍一下Vue中消息订阅与发布的使用方法,希望对大家有所帮助!

一文浅析vue中消息订阅与发布的使用方法

1.什么是消息订阅与发布

消息订阅与发布是一种组件间通信的方式,适用于任意组件间通信。能更好的实现组件间通信(消息订阅与发布就像是送报员一样。好比小a向报社订阅了一份报纸,然后在报社留下了自己的信息,然后送报员就按着小a留下的信息找到了小a所在的地方将报纸送给了他)

2.如何使用pubsub

1.首先我们要安装pubsub,打开vscode→打开终端→输入一下安装命令(也可以在cmd进行安装)【相关推荐:vuejs视频教程WEB前端开发

npm i pubsub-js

2.引入(在需要使用pubsub的组件内引入即可)

import pubsub from ' pubsub-js'

3.接收数据A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身。

methods(){demo(data){.....}mounted() {this.pid = pubsub. subscribe( 'xx',this . demo) }

我们应该先找到想要接受数据的组件,配置一个mounted的配置项,进行消息的订阅subscribe这个单词也有订阅的意思,也就是下面这个组件就是小a的角色,他要订阅一份报纸,然后留下了自己的住址'hello',再利用回调获取数据,这里的msgName,data分别是订阅名和数据(也就是小a的家庭住址和送报员所携带的报纸)

import pubsub from "pubsub-js";
export default {
  name: "School",
  data() {
    return {
      name: "山鱼特效屋",
      address: "南京北城区"
    };
  },
  mounted() {
    this.pubId = pubsub.subscribe("hello", (msgName, data) => {
      console.log("该消息已经发布", msgName, data);
    });
  },
  //使用完之后销毁该绑定事件避免后期错误使用
  beforeDestroy() {
    pubsub.unsubscribe();
  }
};
  • 提供数据

pubsub. publish( ' xxx' ,数据)

publish方法的第一个参数'hello'为订阅名,第二个参(this.name)为想要传递的数据。

import pubsub from "pubsub-js";
export default {
  name: "Student",
  data() {
    return {
      name: "张三",
      sex: "男"
    };
  },
  // 配置一个methods项
  methods: {
    snedStudentName() {
      // 选择给谁提供数据
      pubsub.publish("hello", this.name);
    }
  }
};
  • 最好在beforeDestroy钩子中去取消订阅。

  beforeDestroy() {pubsub.unsubscribe();}

3.nextTick

1.语法:this. $nextTick(回调函数)

2.作用:放在$nextTick 当中的操作不会立即执行,而是等数据更新,DOM更新完成之后再执行

3.使用时机:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。

学习视频分享:vuejs入门教程、编程基础视频)

以上就是一文浅析vue中消息订阅与发布的使用方法的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 一文浅析vue中消息订阅与发布的使用方法

本文链接: https://lsjlt.com/news/206939.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作