继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕数据9484764
关注TA
已关注
手记 49
粉丝 3
获赞 2

第一模块


学习课程名称: 基于 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的构建,自己对插槽的理解更加深刻,为了在其他组件能拿到对应的数据,我们可以用作用域插槽,在封装组件的时候,尽量考虑到全面,如果使用者没有传相应的插槽,我们也会使用默认插槽。

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

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


第四模块

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP