核心:

  1. 在vue原型中挂载vue实例
  2. 通过this.bus.$emit('事件名', '参数')向外触发事件和传递参数
  3. 在生命周期函数mounted中,通过this.bus.$on('传递出来的事件名, callback')来做后续逻辑处理

Demo(实现点击,使得另外一个也改变成自己的名字)

<div id="app"><child content="吴旭飞"></child><child content="左晶晶"></child>
</div>
<script>Vue.prototype.bus = new Vue() // 在vue原型中挂载vue实例Vue.component('child', {data () {return {selfcontent: this.content}},props: {content: {type: String,}},template: '<div @click="handleClick">{{selfcontent}}</div>',methods: {handleClick () {this.bus.$emit('change', this.selfcontent) // 通过this.bus.$emit('事件名', '参数')向外触发事件和传递参数}},mounted() { // 3. 在生命周期函数mounted中,通过this.bus.$on('传递出来的事件名, callback')来做后续逻辑处理this.bus.$on('change', data => {this.selfcontent = data})},})var app = new Vue ({el: '#app'})
</script>
复制代码

转载于:https://juejin.im/post/5cd0284cf265da03a85ad4b9

[Vue]非父子组件传值(bus/总线/观察者模式/发布订阅模式)相关推荐

  1. Vue非父子组件传值

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.非父子组件传值 二.事件总线 2.$attrs / listeners VueX是笔者认为最稳定的非父子传值的方法 ...

  2. VUE非父子组件通信Bus——公交车踩坑笔记

    抛开父子组件的通讯,对于非父子组件通信,简单的数据交互,使用Bus是非常不错的. 遇到的坑有两个. 1.两个组件的信息交互代码写在哪个生命周期函数中,如果只是点击组件A标签触发函数,然后向界面B传递参 ...

  3. 关于Vue非父子组件传值

    熟悉了Vue.js的同级组件之间通信,写此文章,以便记录. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点,请在官网上进行查看,不再赘述. 使用NPM及相关命令行工具初始化的Vue工程,目录结 ...

  4. Vue非父子组件传值+案例cnode首页

    1. 创建公共实例化对象 const bus=new Vue() 2. 在需要发送数据的组件中 绑定事件 使用 bus.$emit发送数据 <button @click="send&q ...

  5. VUE非父子组件通信

    非父子组件通信 vue非父子组件传值方式,本文章整理了两种方式:vuex和总线bus.vuex相比于总线bus来说非常的稳定,推荐直接使用vuex. 我看其他的文章基本上是[点击导航栏回退的时候,去获 ...

  6. vue中非父子组件传值

    vue中非父子组件传值 我们使用 $emit发送数据使用 $on监听数据vue非父子组件传值1 创建公共实例化对象const bus=new Vue()2 在需要发送数据的组件中自定义方法 使用bus ...

  7. vue学习【非父子组件传值问题(Bus/总线/观察者模式)】

    如果两个组件是父子关系,就可以通过props的方式传值. 父组件通过props向子组件传值,子组件通过事件触发向父组件传值 那么如果两个组件之间不具备父子关系,该如何传值呢?任何一个网页都可以拆分成几 ...

  8. 父子组建传值_浅谈Vue父子组件和非父子组件传值问题

    本文介绍了浅谈Vue父子组件和非父子组件传值问题,分享给大家,具体如下: 1.如何创建组件 1.新建一个组件,如:在goods文件夹下新建goodsList.vue goodsList组件 expor ...

  9. Vue.js组件-组件通信-非父子组件传值以及其他通信方式

    非父子组件传值 非父子组件指的是兄弟组件或完全无关的两个组件 兄弟组件 兄弟组件可以通过父组件进行数据中转,简单来讲,A是父组件,BC是两个兄弟组,那么我们可以先B传给A,再A传给C.示例如图: Ev ...

最新文章

  1. 杭电oj2072c语言,杭电acm 2072(单词数)
  2. 大数据测试之初识Hadoop2
  3. vuex之state-状态对象的获取方法(三)
  4. Java虚拟机参数,增加虚拟机最大内存,在/etc/profile增加如下: export JAVA_OPTS=-Xms9g -Xmx9g...
  5. java rmi 还有用吗_java rmi使用后的感想
  6. SQL基础选段(2)
  7. 答应了好久的camera资料
  8. 【图像处理】参数维纳滤波(Parametric Wiener Filter)
  9. 加拿大28历史开奖鸿蒙,本内特入选加拿大男篮集训名单,史上最水状元秀如今在何处?...
  10. 【EOS】2.1 EOS Hello World合约
  11. ELK-日志收集工具nxlog
  12. jenkins插件镜像源
  13. android 电池测试 apk,安卓手机电池检测工具
  14. 使用iperf测试网速
  15. 复化科特斯公式matlab_【原创】牛顿-柯特斯数值积分公式及其MATLAB的实现
  16. git master手动合并到develop
  17. 解决IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter
  18. 5G的SUCI、SUPI、5G-GUTI使用场景及关系
  19. 【VS】VS Code安装、配置、使用(windows10 64)
  20. 【临侦探侦工作原理】

热门文章

  1. 使用Shell脚本对Oracle元数据进行动态版本控制
  2. 航班信息管理系统java_java实现航班信息查询管理系统
  3. 服务端技术方案模板参考
  4. 2012威盛软件类面试(一上午三轮)
  5. 电子邮件SMTP协议原始命令码和工作原理
  6. Linux下可以给视频换脸吗,视频AI换脸软件教程 看这里
  7. python3爬虫图片_【已下线】Python3 实现淘女郎照片爬虫
  8. w ndows7旗舰版怎么重装系统,windows7旗舰版安装包下载到手机的操作方法步骤教程 - 系统家园...
  9. 【Iriun Webcam】
  10. 百城价格房价周期和郑州、武汉房价比较分析