首页 > 其他 > 详细

vue兄弟组件通信、兄弟组件传值(本人是用的是中央控件作为媒介),并一同解决重负传值、第一未传值

时间:2021-05-17 13:40:27      阅读:8      评论:0      收藏:0      [点我收藏+]

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();//销毁每次的传值  解决重负传值
  }
 
如有帮助请关注。谢谢

vue兄弟组件通信、兄弟组件传值(本人是用的是中央控件作为媒介),并一同解决重负传值、第一未传值

原文:https://www.cnblogs.com/huoshengmiao/p/14775771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!