学习记录
Vue兄弟组件之间的传值
Vue父子组件之间的传值我们会了之后,兄弟组件怎么传值呢第一种思路是 子传父,父传子第二种思路是 建立一个中转站这里主要说第二种思路首先新建一个js文件bus.js,我这里建在了assets下bus.js里面写出如下代码import Vue from 'Vue'export default new Vue;然...
2020-02-21 06:04:58
297
                <blockquote> 

Vue父子组件之间的传值我们会了之后,兄弟组件怎么传值呢


第一种思路是

           子传父,父传子

第二种思路是

            建立一个中转站


这里主要说第二种思路

首先新建一个js文件bus.js,我这里建在了assets下

bus.js里面写出如下代码

import Vue from 'Vue'
export default new Vue;

然后在子组件a中传递参数给bus.js

<template>
    <div @click="change">子组件a</div>
</template>

<script>
import Bus from '@/assets/js/bus.js' //一定要引入
export default {
data(){
isTrue:true
},
methods:{
change(){
this.isShow = !this.isShow; //改变布尔的值
Bus.$emit("change",this.isShow); //将改变之后的值通过自定义方法change传给中转站
//Bus.$emit("handle",value1,value2...); //可以传多个值
}
}
}
</script>

然后在子组件b中接受兄弟组件传过来的值

created(){
      // 子组件b通过自定义方法change接收子组件a传过来的值
      Bus.$on("change", (val,val1) => {
        console.log(val,val1)
      });
},