为了账号安全,请及时绑定邮箱和手机立即绑定

vue兄弟传值的时候不需要父组件可以吗? 只是要两个兄弟组件

vue兄弟传值的时候不需要父组件可以吗? 只是要两个兄弟组件

慕神8447489 2019-03-15 22:14:26
vue兄弟传值的时候不需要父组件可以吗? 只是要两个兄弟组件首先我新建了一个js文件eventBus.js在里面写了import Vue from "Vue"export default new Vue;one组件     <div class="a1">        <button @click="start">点击开始传递</button>    </div>     import bus from "../assets/eventBus";         data(){        return{            acc:"传递数据2"        }    },   start(){            const a1=this.mydata;            let a2=this.acc;            bus.$emit("userDefinedEvent",[a1,a2]);        }two组件    <div class="a1">        <span>参数:<br/>{{aaaaaaaaaaaaaaaaa}}</span>    </div>    import bus from "../assets/eventBus";     return{            aaaaaaaaaaaaaaaaa:"默认值"        }    mounted(){        const _this=this;        bus.$on("userDefinedEvent",function(msg){            _this.aaaaaaaaaaaaaaaaa=msg;        })    },在three父组件中  <div class="home">        <one></one>        <two></two>   </div>   import one from "@/components/one";import two from "@/components/two"; components:{        one,        two    }这样可以实现两个兄弟组件的通信,但是我现在不想要父组件,只是两个组件的数据交互,怎么才可以呢?因为都在父组件中导入了,我现在不需要再父组件中导入,只是两个兄弟组件的通信,怎么实现呢?
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

不要父组件,组件肯定的要有地方放啊?所以是路由组件嘛,其实并没有太懂你的意思。


传统的eventBus存在的一个主要问题是,两个组件必须同时存在(或者在事件触发和接收的时刻必须同时存在),如果不想上vuex的话你可以参考下这个:vue数据传递--我有特殊的实现技巧


查看完整回答
反对 回复 2019-03-26
  • 2 回答
  • 0 关注
  • 542 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信