最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Router view on Vue 3 doesn't catch event from child - Stack Overflow

programmeradmin5浏览0评论

I just checked that the router-view(in Vue 3) doesn't catch event that are sent from child. For example:

  <router-view
    @event-test="$emit('new-test-event')"
  />

Here my child send event-test but the router-view never catch It, so the new-test-event is never emitted.

I just checked that the router-view(in Vue 3) doesn't catch event that are sent from child. For example:

  <router-view
    @event-test="$emit('new-test-event')"
  />

Here my child send event-test but the router-view never catch It, so the new-test-event is never emitted.

Share Improve this question edited Oct 31, 2020 at 9:19 Adri HM asked Oct 31, 2020 at 8:37 Adri HMAdri HM 3,1003 gold badges22 silver badges31 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

I just found this warning :

[Vue Router warn]: <router-view> can no longer be used directly inside <transition> or <keep-alive>.
Use slot props instead:

<router-view v-slot="{ Component }">
  <transition>
    <ponent :is="Component" />
  </transition>
</router-view>

So the answer is to make this:

  <router-view v-slot="{ Component }">
      <ponent :is="Component" @event-test="$emit('new-test-event')"/>
  </router-view>
发布评论

评论列表(0)

  1. 暂无评论