vue-starport跨路由组件共享动画
发表于|更新于
|浏览量:
没有风暴,船帆不过是一块破布。——雨果
vue-starport/README.zh-Hans.md at main · antfu/vue-starport · GitHub
我们经常会在在不同的路由(页面)上使用同一组件,但他们的位置和大小可以不尽相同。这时你可能会希望在用户进行路由跳转时,想让它们展示流畅的过渡动画。尽管这样的动画在原生应用中较为常见,但要在 Web 中实现却有一些挑战。
Vue 的组件结构以 树 的形式呈现,在不同分支中的子组件有其各自的实例,这意味着当用户在路由之间跳转时,同样的组件并不会跨路由共享。
因为它们是两个不同的实例,这意味着你无法直接为它们的添加补间动画。幸运的是,有一种叫做 FLIP 的技术可以模拟不同组件之间的过渡动画。
然而,FLIP 只解决了过渡的问题,我们仍然还是会有两个组件实例。在跳转过程中,组件的内部状态将会丢失。
因此,我开始实验一个新的解决方案用于满足这一需求,并将其取名为 Starport。
在线Demo:
https://vue-starport.netlify.app/
可以看到点击下方的图片后,页面路由发生跳转,但是切换的过渡动画非常自然和炫酷
相关推荐
2022-11-15
ERROR Plugin load failed: hexo-generator-json-content
天道之数,至则反,盛则衰。人心之变,有余则骄,骄则缓怠。——管子 发现博客里hexo命令突然用不了了(我重新cnpm i了一下导致的) 报错如下: 既然报错这个模块,我们进去看看 然后发现了端倪,这里用到的hexo-util选择的最新版,且下面根本没有dist目录,但是之前还是好的,并且我此处出现两个hexo-util版本。。。 看了下源码地址,原来四天前发版了 解决办法: 进入报错的hexo目录 12345cd D:\file\blog\blog\node_modules\hexo-generator-json-content# 卸载新版本npm uni hexo-util# 安装 2.7版本npm i hexo-util@2.7 再返回到我们博客目录 成功执行hexo命令
2024-11-01
typescript-exercises(六)
请热爱劳动,即使不是靠它吃饭,也可以为了身体的缘故而爱它,它可以增进身心健康,免除怠惰之累。——潘恩 题目: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384/*Intro: Filtering requirements have grown. We need to be able to filter any kind of Persons.Exercise: Fix typing for the filterPersons so that it can filter users and return User[] when personType='user' and return Admin[] when personType='admin'...
2022-11-07
activeError: error:0308010C:digital envelope routines::unsupported
苛求君子,宽纵小人,自以为明察秋毫,而实则反助小人张目——鲁迅 昨天遇到这个报错了: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152PS D:\project\promotion\vue\gridsome-starter-default-master> gridsome developGridsome v0.7.23Initializing plugins...Load sources - 0sCreate GraphQL schema - 0.03sCreate pages and templates - 0.15sGenerate temporary code - 0.57sBootstrap finish - 8.57s10% building 1/1 modules 0 activeError: error:0308010C:digital envelope routines::unsupported at new...
2021-11-22
vuex
人之贤不肖譬如鼠矣,在所自处耳!――《李斯列传》 聊聊vuex,官方文档:https://vuex.vuejs.org/zh/ 介绍就不赘述了,直接上使用 安装: 1cnpm install vuex --save 我们新建一个store,再创建一个index.js 再新建一个modules目录,里面放上 value.js 在main.js中我们写入 123456789101112import Vue from 'vue'import App from './App.vue'import router from '@/router'import store from '@/store';Vue.config.productionTip = falsenew Vue({ router, store, render: h => h(App)}).$mount('#app') 挂载完毕后,我们编写main.js和value.js main.js 1...
2025-11-22
playcanvas-engine
生活就像一盒巧克力,你永远不知道下一颗是什么味道。——阿甘·弗雷斯 PlayCanvas Engine 深度观察:在浏览器原生跑起来的开放式 3D/WebXR/WebGPU 游戏引擎 仓库地址:playcanvas/engine描述:Powerful web graphics runtime built on WebGL, WebGPU, WebXR and glTF官网:PlayCanvas 网站 | 用户手册 | API Reference | 在线示例 | 官方博客(这些入口均在 README 顶部有导航)许可证:MIT语言:JavaScript / TypeScript(脚本可二选一)核心技术关键字(源自仓库 Topics):webgl webgl2 webgpu webxr gltf game-engine gaussian-splatting 等 PlayCanvas Engine 是一个完全开源、浏览器原生运行的实时 3D / 游戏 / 交互内容引擎。它的定位并不是“另一个封装层”,而是一套将现代 W...
2025-03-05
tauri快速开始踩坑
现在我不那么困惑了,因为我幸运地变得比以前麻木了。——梭罗的《瓦尔登湖》 这里我的Rust版本太低了,所以更新了下 终端如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106(base) 2023:~ achao$ cd ~/IdeaProjects/(base) 2023:IdeaProjects achao$ sh <(curl https://create.tauri.app/sh) % Total % Received % Xferd Average Speed Time Time Time Current ...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog
