1. $bus 이벤트를 main.js에 전역적으로 등록하세요.
Vue.prototype.$bus=new Vue()
2. 트리거되어야 하는 페이지에서
//bus事件触发
this.$bus.$emit('事件名') //不传递参数
this.$bus.$emit('事件名',val)
3. 이벤트 수신 페이지에서
mounted(){
this.$bus.$on('事件名',()=>{console.log(456)}))
this.$bus.$on('事件名',val=>{this.val=val}))}
//销毁bug事件监听
destroyed(){
this.$bus.$off('事件名')
},
참고: 페이지 구성 요소가 이벤트를 수신할 수 없는 경우 소멸 시 수명 주기를 beforeRouteLeave로 변경할 수 있습니다.
beforeRouteLeave() {
this.$bus.$off("getCurrentTab");
},