当前位置: 首页 > news >正文

解决Vue根组件设置transition失效的问题

解决Vue根组件设置transition失效的问题

1.代码

<div id="app"><!-- :name="$route.meta.transitionName" --><transition :name="'animation'" mode="out-in"><router-view  /></transition></div><!-- 动画部分代码省略 -->

这样直接设置会发现路由切换时并没有效果,但是你每次修改代码后保存刷新页面时却又能看到一次动画效果。

2.解决办法

在router-view标签设置 key属性,并且确保是唯一的,这里我设置 :key=“$route.fullPath”
以下为修改后的代码:

<div id="app"><!-- :name="$route.meta.transitionName" --><transition :name="'animation'" mode="out-in"><router-view :key="$route.fullPath" /></transition></div>

修改后,transition动画就正常了。

分析

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

http://www.lryc.cn/news/120856.html

相关文章:

  • 【剑指 Offer 40】最小的k个数
  • vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)
  • 【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II
  • HTML详解连载(2)
  • qt事件系统源码-----定时器
  • 【Android】ViewBinding+DataBinding+MVVM新手快速上手
  • 生成式人工智能模型:提升营销分析用户体验
  • 【并发编程】无锁环形队列Disruptor并发框架使用
  • 【C语言】初阶指针详解
  • ElasticSearch:项目实战(1)
  • React 实现文件分片上传和下载
  • 2023.8.13
  • kvm not all arguments converted during string
  • JVM 基础
  • 智谷星图赵俊:让人才和区块链产业“双向奔赴”丨对话MVP
  • C# Equals()方法报错:NullReferenceException was unhandled
  • Linux下C语言调用libcurl库获取天气预报信息
  • “深入解析JVM:Java虚拟机原理和内部结构“
  • Arrays.asList() 返回的list不能add,remove
  • 命令执行漏洞
  • Hive 中 sort by 和 order by 的区别
  • 网络资源利用最大化:爬虫带宽优化解决方案
  • STDF - 基于 Svelte 和 Tailwind CSS 打造的移动 web UI 组件库,Svelte 生态里不可多得的优秀项目
  • C语言一些有趣的冷门知识
  • Oracle数据库审计
  • Node.js新手在哪儿找小项目练手?
  • 全国各城市-货物进出口总额和利用外资-外商直接投资额实际使用额(1999-2020年)
  • CentOS 7查看磁盘空间
  • 基于PHP的轻量级博客typecho
  • MySQL多表查询