zoukankan      html  css  js  c++  java
  • vue二十二:vue基础之事件总线实现非父子通信

    事件总线工作原理

    在代码中实现

    创建非父子关系的组件

    创建中央事件总线(空的vue实例)

    mounted生命周期函数,在当前组件的dom创建完后就会调用

    在mounted生命周期中绑定订阅事件总线

    绑定发布事件总线

    获取发布的状态

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js"></script>
    </head>
    <body>
    <div id="app">
    <author></author>
    <user></user>
    </div>

    <script>
    var bus = new Vue() // 空Vue实例,就是中央事件总线

    Vue.component('author', {
    template: `
    <div style="background: blue">
    公众号作者
    <input type="text" ref="inputText">
    <button @click="handleClick()">发布文章</button>
    </div>`,
    methods:{
    handleClick(){
    bus.$emit('msg', this.$refs.inputText.value)
    }
    }
    })
    Vue.component('user', {
    template: `
    <div style="background: green">
    微信用户
    </div>`,
    mounted() { // 生命周期函数,在当前组件的dom创建完后就会调用
    bus.$on('msg', (data) => {
    console.log('收到推送了', data)
    })
    console.log('生命周期函数,在当前组件的dom创建完后就会调用')
    }
    })


    new Vue({
    el: "#app",
    })

    </script>
    </body>
    </html>
    讨论群:249728408
  • 相关阅读:
    正则表达式
    什么是面向对象
    关于jdk,jre,jvm和eclipse的一些总结
    分析ajax爬取今日头条街拍美图
    pycharm误删恢复方法及python扩展包下载地址
    django 之 视图层、模板层
    django
    django框架基础二
    jdango框架基础一
    安装软件,提高速度,可以使用清华源
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/12384381.html
Copyright © 2011-2022 走看看