1、中央控件 在根目录创建 Bus.js ,在里面只需写两行代码如下 import Vue from 'vue' export default new Vue 2、第一个组件 引入 Bus.js 其中'sendByBus'作用是作为身份标识使用的 import bus from '@/Bus' //第一未传值 :主要还是页面未创建的时候,按钮已经发出了消息,页面当然接收不到了,直接看代码~我就不赘述了。。。(可以了解下js的事件机制宏任务,微任务) nextStep() { // 通过中央控件兄弟传值 setTimeout(() => { // 解决第一未传值 bus.$emit('sendByBus', this.form) //每次都让值改变,保证每次点击都会被接收 }, 200) this.$emit('nextStep') }, 3、第二个组件 引入 Bus.js import bus from '@/Bus' mounted() { bus.$on('sendByBus', val => { console.log(val) }) }, beforeDestroy() { bus.$off();//销毁每次的传值 解决重负传值 } 如有帮助请关注。谢谢