this.$bus.$emit 事件变成动态的
时间: 2023-07-06 14:39:39 浏览: 46
要让事件名动态化,你可以使用方括号语法。例如,如果你有一个变量 `eventName` 包含要触发的事件名,你可以这样调用 `$emit` 方法:
```
this.$bus.$emit(eventName, payload);
```
这样会动态地将 `eventName` 变量的值作为事件名,从而触发相应的事件。
相关问题
this.$bus.$emit传多个
this.$bus.$emit可以用于在Vue.js中触发自定义事件,并传递参数。如果你想传递多个参数,可以将它们作为一个对象传递。下面是一个示例:
```
this.$bus.$emit('event-name', {
param1: value1,
param2: value2,
// ...
});
```
在上面的示例中,'event-name'是你定义的事件名称,param1、param2等是参数名,value1、value2等是对应的参数值。
当然,你也可以直接传递一个数组作为参数,如:
```
this.$bus.$emit('event-name', [value1, value2, ...]);
```
在接收事件的地方,你可以使用this.$bus.$on来监听事件,并获取传递的参数。
希望这能帮到你!如果还有其他问题,请随时提问。
this.$bus.$emit+
这是一个 Vue.js 中的事件总线的用法。`.$bus` 是一个 Vue 实例,通过 `$emit` 方法触发自定义事件。`$emit` 接受两个参数:第一个参数是事件名称,第二个参数是要传递的数据。例如:
```javascript
// 组件 A
this.$bus.$emit('myEvent', 'Hello, world!');
// 组件 B
this.$bus.$on('myEvent', (message) => {
console.log(message); // 输出:Hello, world!
});
```
这样,组件 A 触发了名为 `myEvent` 的事件,并传递了一个字符串数据 `'Hello, world!'`。组件 B 监听到 `myEvent` 事件后,输出了接收到的消息。