美文网首页
消息订阅与发布(pubsub)

消息订阅与发布(pubsub)

作者: 5cc9c8608284 | 来源:发表于2022-03-19 11:26 被阅读0次

pubsubjs参考链接

  1. 一种组件间通信的方式,适用于任意组件间通信

  2. 使用步骤:

    1. 安装 pubsub:npm install pubsub-js

    2. 引入: import pubsub from 'pubsub-js'

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

      methods(){
        demo(data){......}
      }
      mounted() {
        this.pid = pubsub.subscribe('xxx',this.demo) //订阅消息
      }
      
    4. 提供数据:pubsub.publish('xxx',数据)

    5. 最好在 beforeDestroy 钩子中,用PubSub.unsubscribe(pid)取消订阅。
      3.举个例子:
      Student组件给School组件传递数据
      Student.vue组件

<template>
  <div>
    <button @click="sendStudentName">把名字传递给school组件</button>
  </div>
</template>

<script>
import pubsub from "pubsub-js";
export default {
  data() {
    return {
      name: "janny",
    };
  },

  methods: {
    sendStudentName() {
      pubsub.publish("hello", this.name);
    },
  },
};
</script>

School.vue组件

<template>
  <div>
    <h1>School组件</h1>
    <h2>{{ name }}</h2>
  </div>
</template>

<script>
import pubsub from "pubsub-js";

export default {
  name: "",
  data() {
    return {
      name: "小虾皮陈",
      age: 18,
      helloId: null,
    };
  },
  mounted() {
    this.helloId = pubsub.subscribe("hello", (a, b) => {
      //第一个参数表示订阅的是哪个函数,第二个参数才是真正接收的传递过来的数据
      //注意:这里回调函数要写成箭头函数的形式,否则里面的this就不确定了
      this.name = b;
      console.log("School组件收到数据了", a, b);
    });
  },
  beforeDestroy() {
    // 在组件销毁的时候取消订阅
    pubsub.unsubscribe(this.helloId);
  },
};
</script>

相关文章

  • pubsub.js消息的发布订阅

    pubsub.js消息的发布订阅 组件间数据的传递方式props,一层一层传递消息的发布订阅,当嵌套层数比较多,可...

  • 消息订阅与发布

    消息订阅与发布(pubsub) 1、一种组件间通信的方式,适用于任意组件间通信 2、使用步骤: ...

  • MQTT在 iOS工程中的使用

    1、MQTT MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。 两种...

  • pubsub.js消息的发布订阅

    组件间数据的传递方式 props,一层一层传递 消息的发布订阅,当嵌套层数比较多,可以用此工具库下载 使用

  • 纯JS实现事件发布订阅模式

    // 发布订阅对象 var PubSub = {}; // 事件存储对象 var Events = {}; // ...

  • 12-消息订阅与发布

    1. 定义 消息订阅与发布是一种组件间通信的方法。适用于任意组件。pubsub 是由两个单词组成:publish ...

  • Redis做轻量级消息队列的3种玩法

    Redis也可以做轻量级的消息队列:基于List的队列模式、PubSub多播的发布订阅模式、以及5.0之后提供的S...

  • redis遇到的坑

    PUBSUB发布订阅模式的listen坑 demo 上面代码订阅者进入监听, 如果要停止监听在windows环境和...

  • 消息订阅与发布

    1.一种组件间通信方式,适用于任意组件间通信2.使用步骤(1)安装 pubsub: npm i pubsub-js...

  • SpringBoot使用Redis发布订阅pubsub

    1、pom.xml 2、application.yml 3、 启动类+java配置 Application.jav...

网友评论

      本文标题:消息订阅与发布(pubsub)

      本文链接:https://www.haomeiwen.com/subject/vimodrtx.html