javascript - 我可以从我的标题中触发另一个组件的功能吗?
问题描述
您好,我有一个关于 vue 路由和树如何工作的问题。我有我的父路由器,我的路由器视图和标题在同一级别。
我有一些功能我想从我的标题触发到我的路由器视图中称为仪表板的路由
例如:header.vue
<a href="#" @click.prevent="update()"> click me to update dashboard </a>
仪表板.vue
<p> {{datafrom filldata}} </p>
methods: {
fillDataToP() {
function to fill data
}
}
这在vue中可能吗?
解决方案
您可以在 vuejs 中使用 EventBus 功能。
在你的main.js
文件中添加
const EventBus = new Vue()
Vue.prototype.$bus = EventBus;
从您的header.vue
文件中,您现在可以发出一个事件:
例子this.$bus.emit('someString', SomeObjectToPass);
然后在您的设备上,Dashboard.vue
您可以使用以下命令收听事件:
this.$bus.on('sameStringAsInEmit', () => {
// Fill Data
})
推荐阅读
- python - 在内部转移 (stock.picking) 错误中自动填充初始需求 (stock.move 表) 中的产品
- node.js - 如何将 ejs 转换为车把?
- swift - 如何在 Swift 中摆脱 Objective-C 的 KVO?
- javascript - javascript onclick 更改 mp3 播放器
- numpy - 调整 numpy 图像数组的大小
- python - 如何修复索引 4 超出轴 0 大小为 4 的范围?
- server-side-rendering - ReferenceError:在角度 9 中运行 SSR 时未定义窗口
- r - R:从混合数字和字母的字符串中提取最大数字
- javascript - 如何在不使用 nativeElement 的情况下自动聚焦 Angular 10 中的表单控件
- laravel - NGINX 和 Laravel - 带有特殊字符的 json 发布请求