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; // 接收傳過來的值 }) } }