Vue.js Vue转换在路由器视图上工作,但不在组件内部工作

Vue.js Vue转换在路由器视图上工作,但不在组件内部工作,vue.js,vuejs2,vue-router,Vue.js,Vuejs2,Vue Router,当我设置一个典型的路线转换时,一切都按预期进行 <transition name="view" mode="out-in"> <router-view /> </transition> 但是,如果我尝试将转换放在视图中,则转换不起作用 <template> <transition name="view" mode="out-in"> <main> <...> </m

当我设置一个典型的路线转换时,一切都按预期进行

<transition name="view" mode="out-in">
  <router-view />
</transition>

但是,如果我尝试将转换放在视图中,则转换不起作用

<template>
  <transition name="view" mode="out-in">
    <main>
      <...>
    </main>
  </transition>
</template>


你知道为什么会这样吗?

在我看来,问题在于
元素没有进入或离开,所以它没有动画。您可能正在尝试在
元素中设置某个对象的动画,而该对象不是
伪元素的目标

我的建议是将正在切换(
v-if
)或可见性切换(
v-show
)的元素封装为
transition


此外,如果您正在使用列表/数组(
v-for
),您应该使用
转换组


文档:

你在
主文件中有什么东西需要转换吗?@SándorBakos是的。对不起,如果不清楚的话。我只是不想在Brevitys的帖子中包含整个模板,
main
中的