模仿微信的页面切换效果 Vue的过渡效果的时候,mode属性的"in-out"、"out-in"设置了不起作用

发布于 2022-09-12 00:54:33 字数 1112 浏览 15 评论 0

效果 : 移动vue项目想模仿微信,微博页面切换的效果
方案 :使用了<transition> 动画,但是每次切页的时候会有空白,使用mode:out-in,但是不起效果
查找了一些资料,发现:
过渡模式是建立在多组件切换的基础上的,也就是动态组件切换,并且当两个被切换的元素是同种标签的内容时,加上key 区分
比如:这样才有效果

 <transition name\="on" mode\="out-in"\><!--mode只适用于一个transition内的同标签切换\-->
    <button v-if\="show" key\="but1"\>on</button\>
    <button v-else key\="but2"\>off</button\><!--key为了防止只是修改内容不重新渲染\-->
  </transition\>

问题:因为我使用了keep-alive对入口进行了包裹,所以不起作用

  <transition :name="transitionName" mode="out-in">
      <keep-alive>
        <router-view v-if="$route.meta.keepAlive && isRouterAlive" class="Router" key="com1"></router-view>
      </keep-alive>
    </transition>
    <transition :name="transitionName" mode='out-in'>
      <router-view v-if="!$route.meta.keepAlive && isRouterAlive" class="Router" key="com2"></router-view>
    </transition>

想请教下应该怎么解决页面切换的时候留白问题呢?
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文