• 十二、【VUE-CLI】消息订阅与发布(待办事项案例 · 第五版)


    十二、消息订阅与发布

    1、消息订阅与发布(pubsub-js)

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

    2. 使用步骤:

      1. 安装pubsub-js:npm i pubsub-js(安装别的消息订阅库也可以哦!)

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

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

        methods(){
          demo(data){......}
        }
        ......
        mounted() {
          this.pid = pubsub.subscribe('xxx', this.demo) //订阅消息
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
      4. 发布消息提供数据:pubsub.publish('xxx',数据)

      5. 最好在beforeDestroy钩子中,用PubSub.unsubscribe(pid)去取消订阅


    2、消息订阅与发布示意图

    在这里插入图片描述


    3、CODE

    1、项目结构

    在这里插入图片描述

    2、App.vue

    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    3、School.vue

    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    4、Student.vue

    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    4、Result

    在这里插入图片描述


    5、待办事项案例 · 第五版(目前更推荐第四版全局事件总线实现)

    只修改了 App.vue 、TodoItem.vue(此处只粘贴变更追加的代码)

    1、App.vue

    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2、TodoItem.vue

    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
  • 相关阅读:
    当我们谈论量化时,我们在谈论什么?量化投资常见策略有哪些?| 融券T0和高频交易详解【邢不行】
    差分、差模,共模,单端(1)
    【工具问题】IDEA每次关闭的时候都会弹框显示closing project,然后弹框持续很久就像卡住了
    千亿体培市场进入快车道
    力扣每日一题2022-09-07简单题:重新排列单词间的空格
    【数据结构】栈详解
    超声功率放大器使用范围有哪些
    彻底删除git历史记录中的文件
    Java —— 类和对象(一)
    【前端】CSS(2) —— CSS的基本属性
  • 原文地址:https://blog.csdn.net/qq_30769437/article/details/126187361