
解决Vue中bus.$emit首次触发无法被$on监听的问题
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文将详细介绍在使用Vue.js框架时,Bus实例首次发出事件($emit)却不能被其他组件监听($on)的问题,并提供解决方案。
$emit与$on的用法如下:
新建一个名为bus.js的文件:
```javascript
import Vue from vue;
export const bus = new Vue();
```
在需要使用的地方引用这个文件:
```javascript
import { bus } from ./bus;
// 使用 $on 监听事件
bus.$on(test, function (msg) {
console.log(msg);
});
// 触发 $emit 发送数据
bus.$emit(test, 11);
```
在上述代码中,当调用`$emit`时如果先于相应的监听器 `$on` 执行,则无法被监听到。这是因为Vue不会存储尚未定义的事件监听器,因此在这种情况下,发送的数据将不可见。
全部评论 (0)
还没有任何评论哟~


