首页 > 解决方案 > 是否可以从布局中的组件监听事件

问题描述

例如,有一个 Header 组件,你将它导入到 layout/main.vue 中。

然后,您创建了一个类似于this.$emit('fromHeader', { //somevalue }Header 组件的方法。

这是我的问题。你有 pages/index.vue 并且你使用 main.vue 作为布局。是否可以fromHeader从 pages/index.vue 中的 Header 组件监听事件?我已经尝试过了,但似乎我们不能。如果是这样,如果你想在布局中监听来自组件的事件,你的实现方式是什么?

我想知道我应该只在 pages/index.vue 中导入 Header 组件,而不是使用布局来执行此操作。

标签: vue.jsnuxt.js

解决方案


您只能在发出它们的组件的父级中侦听 Vue 事件。在您的示例中, main.vue 是 Header 的父级。index.vue 可以监听 main.vue 发出的事件,但不能监听 Header 发出的事件。

请参阅VueJs 2.0 从孙子向其祖父组件发出事件


推荐阅读