Vue3根组件设置Transition失效的问题

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 微信:zsqtcyl 联系我领取福利

Vue3根组件设置Transition失效的问题总结

正菜来了⛳⛳⛳

🎈Vue3根组件设置Transition失效

温馨提醒:都是bug总结

🍮写法改变

不正确的写法:会报警告
 <div>
   <transition :name="'child'" mode="out-in">
     <router-view  />
   </transition>
 </div>

改:

 <router-view v-slot="{ Component }">
   <Transition name="child" mode="out-in">
     <component :is="Component" />
   </Transition>
 </router-view>

🍮Transition失效解决

要出发动画需要触发条件,后边有补充,先说解决方法

<router-view v-slot="{ Component }">
   <Transition name="child" mode="out-in">
     <component :is="Component" :key="route.path" />
   </Transition>
 </router-view>

多了一个:key,绑定key作为一个触发条件,保证key绑定的值的唯一性

每当路由发生变化时,$route.fullPath 的值会发生变化,因为它会随着新的路由而更新。
这就意味着,每当路由切换时, 组件的 key 会变化,从而触发 Vue.js 重新渲染组件。
在重新渲染的过程中,过渡效果会应用于离开的旧组件和进入的新组件,从而实现平滑的过渡效果。

🎈Transition知识点总结

Vue 提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动画:

  1. 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍如何使用它。

  2. 会在一个 v-for 列表中的元素或组件被插入,移动,或移除时应用动画。我们将在下一章节中介绍。

触发条件:

Transition是一个内置组件,这意味着它在任意别的组件中都可以被使用,无需注册。它可以将进入和离开动画应用到通过默认插槽传递给它的元素或组件上。进入或离开可以由以下的条件之一触发:

  1. 由 v-if 所触发的切换
  2. 由 v-show 所触发的切换
  3. 由特殊元素 切换的动态组件
  4. 改变特殊的 key 属性

本次解决的点就在:改变特殊的 key 属性

🍚总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识浅谈

您的支持将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值