Vuejs2 Vue.$router.push具有相同的路由但参数不同-如何触发转换?

Vuejs2 Vue.$router.push具有相同的路由但参数不同-如何触发转换?,vuejs2,Vuejs2,我的应用程序使用this.$router.push更改状态。第一条路线是/page/1,下一条路线是/page/2,依此类推。我的问题是,由于Vue不会重新加载组件,因此不会触发转换效果。我怎样才能解决这个问题?我不介意是否需要重新创建整个组件 由于没有父组件,我没有找到使用:key的方法 App.vue: <collapse-transition origin="center" mode="out-in" :duration="250"> <router-view/>

我的应用程序使用
this.$router.push
更改状态。第一条路线是
/page/1
,下一条路线是
/page/2
,依此类推。我的问题是,由于Vue不会重新加载组件,因此不会触发转换效果。我怎样才能解决这个问题?我不介意是否需要重新创建整个组件

由于没有父组件,我没有找到使用:key的方法

App.vue:

<collapse-transition origin="center" mode="out-in" :duration="250">
  <router-view/>
</collapse-transition>
页面组件:

this.$router.push("/page/" + case + 1)
最后我做到了:

    <collapse-transition origin="center" mode="out-in" :duration="250">
        <router-view :key="$route.fullPath"/>
    </collapse-transition>


如果您将组件本身封装在
标记中而不是路由器视图中,这会是一个选项吗?您是否尝试为组件提供不同的密钥?在具有相同标记名的元素之间切换时,必须通过赋予它们唯一的键属性来告诉Vue它们是不同的元素。否则,Vue的编译器将仅为提高效率而替换元素的内容。即使在技术上不必要的情况下,在一个组件中始终为多个项目设置关键帧也是一种良好的做法。
    <collapse-transition origin="center" mode="out-in" :duration="250">
        <router-view :key="$route.fullPath"/>
    </collapse-transition>