vue中除了父子组件传值,父传子用props,子传父用$emit,有时候兄弟组件之间也需要传值
1. 先定义一个中间件,src下面新建self.js
import Vue from 'vue';
let Self = new Vue;
export default Self;
A组件要传值给B组件
要传值的组件A
<template>
<div>
<button @click="gotoB">到B页面的按钮</button>
</div>
</template> <script>
import Self from '@/self'
export default{
methods:{
gotoB(){
Self.$emit('sss',this.checkedOrderList)
this.$router.push({name:'B'})
}
}
} </script>
要接受的组件B
import Self from '@/self'
export default{
data(){
return{
param:''
}
},
created(){
var vm = this;
Self.$on('sss',function(val){
console.log(val);
vm.param = val; // 接收传过来的值
})
}
}