问题描述
项目中封装的Bus.js
import Vue from 'vue';
export default new Vue;
项目中的引用import Bus from "@/common/Bus"
问题出现的环境背景及自己尝试过哪些方法
相关代码
粘贴代码文本(请勿用截图)
项目中封装的Bus.js
import Vue from 'vue';
export default new Vue;
项目中的引用import Bus from "@/common/Bus"
粘贴代码文本(请勿用截图)
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
9 回答1.7k 阅读✓ 已解决
5 回答914 阅读
3 回答2.2k 阅读✓ 已解决
6 回答1k 阅读
没触发只有一个原因,因为
$emit
的时机早于$on
,你在2个事件前各打个console就明了。同步渲染的组件应该在
$emit
之前加个$nextTick
就能确保送达,异步就没法了,只能视你自己情况调整多解释几句,其实监听器并不是什么高深的技术
基本原理就是这个上面简单对象,监听缓存,消息触发而已。
我们来调用
现在可以理解为什么
$on2
收不到msg1
了吧