为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第三天 中前台平台搭建,提高工作效率

标签:
Vue.js

第一模块


学习课程名称: 基于 Vue3 ,打造前台+中台通用提效解决方案
章节名称:高阶路由过渡处理方案 —— 浏览器堆栈主动介入
讲师姓名:Sunday


第二模块


课程内容概述

主要讲解路由进行跳转的时候,有时候会为其增加一些跳转的过渡动画,这是一个非常常见的需求。
通常情况下,这种过渡动画,我们可以直接使用 vue-router 的过渡动效 来进行实现。但是通过分析,直接通过 vue-router 的过渡动效来实现,是不行的。
需要通过了另外一种方式来完成了 路由的过渡行为 ,同时也接触到了 GSAP 这样的动画库。


第三模块


针对路由跳转需要过渡动画,老师首先分析了VueRouter过渡动效的可行性,最后得到的结论:VueRouter过渡动效切换,需要基于整个页面组件,而我们期望的是点击某一个item,就可以触发路由过渡动效。

尝试从另一个视角,去分析问题:所谓路由的跳转无非指的是两个部分

  1. 浏览器的 url 发生了变化
  2. 浏览器中展示的页面组件发生了变化

换种思路:不去进行真正的路由跳转 ,而是先修改浏览器的 URL ,再切换展示的页面(以组件的形式覆盖整个浏览器可视区域)。这样对于用户而言,是不是就完成了整个的路由跳转工作。

现在问题就变成了:

  1. 如何让浏览器的 url 发生变化,但是不跳转页面
  2. 如何让一个新的组件以包含动画的形式进行展示

第一个功能我们可以使用:History.pushState() 方法。
第二个功能我们可以使用 GSAP 这个动画库来进行实现。

重点说一下:基于GSAP 实现高阶路由过渡动画分析
对于 GSAP 而言,主要依赖两个方法:

  1. gsap.set() :这个方法通常使用在动画开始之前,表示设置动画开始前的元素属性
  2. gsap.to():这个方法表示 最终元素展示的状态

GSAP 会基于set和to的状态,来自动执行中间的补间动画。我们只需要在组件外部包裹一层transition(注:必须有transition,否则拿不到对应的动画状态)。

另外在计算当前item图片的中心位置(即动画的起点),此处用到了useElementBounding方法,项目中用到了好多vueuse的方法,平常项目中用的不多,在今后的工作中,还是要好好学习一下。

经过通用组件navbar的构建,自己对插槽的理解更加深刻,为了在其他组件能拿到对应的数据,我们可以用作用域插槽,在封装组件的时候,尽量考虑到全面,如果使用者没有传相应的插槽,我们也会使用默认插槽。

在处理刷新空白问题上面,我们新增对应页面路由即可。

在编程路上,还是要多多学习大佬的编程思维,加油


第四模块

图片描述
图片描述图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消