当前位置: 首页 > Web前端 > vue.js

vue兄弟组件之间的数据传递:使用vue实例总线传递数据

时间:2023-03-31 23:31:59 vue.js

问题描述在vue项目中,兄弟组件之间的数据传递是一个比较常见的操作。比较常用的是vuex或者事件总线vue实例来实现。本文讲的是vue实例总线的使用步骤。vue实例总线的用法相当于一个中间的快递小哥,会帮助我们在兄弟组件之间传递数据。步骤第一步写两个兄弟组件,并在父组件中引用子组件一子组件二在父组件中引用,使用饿了么的标签栏切换组件看起来更明显项目结构图:第二步新建文件夹存放vue实例,在组件中引入创建vue实例暴露给子组件引入,注意的是A兄弟组件需要向B兄弟组件传输数据。如果使用vue实例,那么这两个组件都需要引入一个bus实例来使用。Vue的Vue对象放在Vue的原型上。如果放在prototype上,每一个.vue文件都可以访问,所以上面的写法会有点变化://把实例化的Vue对象放在main.jsVue.prototype.$bus=newVue()上vue原型//子组件1methods:{sendData(){this.$bus.$emit("send",this.childOneData)}}//子组件2created(){this.$bus.$on("send",(payload)=>{console.log("来自兄弟组件的数据",payload)this.msg=payload})}