美文网首页
vue 发送事件(通知), 监听事件(通知)

vue 发送事件(通知), 监听事件(通知)

作者: FM_0138 | 来源:发表于2023-12-14 15:20 被阅读0次

实例: 比如接受到消息聊天消息后需要分发不同对应页面

1, 在接收到消息之后(需要发送监听的地方)需要自定一个事件(通知), 然后发送,来供页面去监听时间(通知)

mounted() {
    window.websocket.onmessage = function (evt) {
        // 定义一个监听事件, 进行发送事件,
        // 注意传的参数要用{detail: xxx}模式, 不然获取参数的地方拿不到参数
        window.dispatchEvent(new CustomEvent('testaaa', { 
            detail: { text: "消息内容"}   
        }))
        console.log('发送通知事件')
    };
  },

2, 在需要使用的页面添加事件(通知)监听

mounted() {
    //添加监听
    window.addEventListener("testaaa", this.testAction)
},
beforeDestroy(){
    //移除监听
    window.removeEventListener("testaaa", this.testAction)
},
methods: {
    // 监听响应方法, 获取传过来的参数是res.detail
    testAction(res) {
      console.log('我监听到了发送的通知', res.detail)
    },
}

相关文章

网友评论

      本文标题:vue 发送事件(通知), 监听事件(通知)

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