实习手计(3):前端菜鸟碎碎念

也是顺利熬过三周,感觉时间还蛮快的,但是感觉人变懒散了啊啊啊~本周的周报都没写,每天的学习计划也没完成。本来就菜,再这么懒和拖延怎么办!!!这周总的来说活不太多呢(挺好的),但是发现自己真的是菜啊,很简单的知识点都会忽略。。。(有点丢人)

一、需求

照常周一开会,意识到接下来的几个需求应该不会像前面简单了。总结两个吧:首页改成动画(貌似要接触新的东西了),奥运页面也要重改,以及其他可能需要改的小需求。

二、学习

(1)GSAP

既然要接触新的东西,那就先学习一下怎么使用gsap吧。(先附上两个链接,这写的还是蛮详细的,会copy能用就好了,也是有点懒了,后面学了在专门写一篇gsap的吧)这里先记录一下怎么使用。

  • gsap
  • 掘金gsap

这是自己写了一个小demo,然而过程并不顺利呢(虽然很简单。)

<template><div class="container"><div class="flair flair--25"></div><div class="nav light"><button id="play" @click="play">play()</button><button id="pause" @click="pause">pause()</button><button id="resume" @click="resume">resume()</button><button id="reverse" @click="reverse">reverse()</button><button id="restart" @click="restart">restart()</button></div></div>
</template><script setup>import { gsap } from 'gsap';import { onMounted } from 'vue';let tween;onMounted(() => {let nav = document.querySelector('.nav');tween = gsap.to('.flair', {duration: 2,//动画的持续时间为2秒x: () => nav.offsetWidth, // 元素在x轴上的移动距离等于.nav 元素的宽度xPercent: -100, // rotation: 360,//元素旋转360度ease: 'none',//恒定的速度paused: true,});});const play = () => {tween.play();};const pause = () => {tween.pause();};const resume = () => {tween.resume();};const reverse = () => {tween.reverse();};const restart = () => {tween.restart();};
</script>

(2)生命周期钩子函数

  • 场景

直接copy过来的代码里面使用document.querySelector。但会发现并没有选到这个节点哦节点还没有挂载出来。所以要使用onMounted保证在选择之前这个dom节点已经被挂载出来。

  • 拓展(几个常用生命周期的使用场景)
  1. onBeforeMount。在组件挂载到 DOM 前调用。使用场景:设置监听器。
  2. onMounted。在组件挂载完成后调用,此时 DOM 已经可访问。使用场景:设置基于 DOM 的动画或过渡、获取dom节点。
  3. onBeforeUpdate。在组件更新之前调用。
  4. onUpdated。在组件更新后调用。
  5. onBeforeUnmount。在组件卸载前调用。使用场景:清除事件监听器、清除定时器。
  6. onUnmounted。在组件卸载后调用。

(3)作用域

  • 场景

这个例子之前是这样写的:

onMounted(() => {let tween = xxxx;
)};const play = () => {tween.play();};

但是会发现其实你是拿不到tween的,因为let声明的变量是块级作用域(只能在{}访问到)。但要在外面访问到这个变量就需要先提到全局作用域声明。所以就应该这样写:

let tween;
onMounted(() => {tween = xxx;
});
  • 拓展(作用域)
  1. 全局作用域:最外层的作用域,它在整个程序中都是可访问的。
  2. 函数作用域:函数内部声明的变量(使用var关键字)具有函数作用域,变量仅限于函数体内部可访问。
  3. 词法作用域:在词法作用域中,内层作用域可以访问外层作用域中的变量,只要它们在声明时的词法位置上有直接或间接的嵌套关系。与函数作用域不同,函数作用域仅限于函数体内部。(let const)

三、回顾

接下来有一个需要做的就是模仿其他官网的一个动画。我需要做的也就是将其封装成有一个组件,在父组件中可以用子组件的逻辑。涉及到的也就是父子组件通信props和插槽的使用。

父子组件通信

//子组件
<template><div><video :src="video.src"></video><slot name="text"></slot></div>
</template><script setup lang="ts">import { onMounted, ref } from 'vue';defineProps({video: {default: () => ({src: '',}),},});
</script><style lang="less" scoped>
</style>//父组件<template><div><VideoText :video="videoInfo"><template #text> </template></VideoText></div>
</template><script setup lang="ts">import VideoText from './AminationVideoScroll.vue';const videoInfo = {src: '',};
</script><style lang="less" scoped>
</style>

四、修改表单

表单更新: 增加一个表单项。就是要把填的表单数据提交到统一的接口(纷享销客?)。so你提交上去的数据就需要和接口要求返回的数据格式一致了。这一部分就是别人咋写我照抄(我是cv小能手哈哈)。but有一个地方我没理解所以写错了。(忘记copy代码了下周补)不过还是有几个要注意的点啊。

  • 注意接口要求返回的数据类型格式是什么
  • 大概逻辑要理清(我就是糊里糊涂的copy。。。尴尬)

五、写在最后

  • 第三周还Ok了,其实没有改多少东西,开开心心按时上下班,还有人唠嗑(奈斯,不敢想象没有人说话我会多郁闷)
  • 哦对了,这周发工资了哈哈哈,虽然只有一丢丢(不及师父的二十分之一,是真高啊),但还是开心的
  • 收获了一个固定饭搭子,夸夸她哈哈~人真的很好很活泼,就是我俩制定的计划总是,拖延,起不来。。
  • 我真发现我好宅。(可能一个人的时候吧)虽然但是,这周还一个人去西湖转了一圈哦~(还是在别人鼓励下终于出去转了一圈,反正那两天状态很差)
  • 才补的博客。。上周说的学习计划也没有落实。。(第五周一定落实,每天学了多少就发多少呜呜呜不然根本控制不住自己)
  • 拜拜

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XMl基本操作

引言 使⽤Mybatis的注解⽅式&#xff0c;主要是来完成⼀些简单的增删改查功能. 如果需要实现复杂的SQL功能&#xff0c;建议使⽤XML来配置映射语句&#xff0c;也就是将SQL语句写在XML配置⽂件中. 之前&#xff0c;我们学习了&#xff0c;用注解的方式来实现MyBatis 接下来我们…

四、 简单工厂模式

文章目录 1 基本介绍2 案例2.1 Drink 抽象类2.2 Tea 类2.3 Coffee 类2.4 DrinkFactory 类2.5 Client 类2.6 Client 类运行结果2.7 总结 3 各角色之间的关系3.1 角色3.1.1 Product ( 抽象产品 )3.1.2 ConcreteProduct ( 具体产品 )3.1.3 Factory ( 工厂 )3.1.4 Client ( 客户端 …

Python实现精准判断并区分PDF文件是“图片内容”还是“文字内容”(8)

前言 本文是该专栏的第8篇,后面会持续分享Python办公自动化干货知识,记得关注。 对于pdf文件来说,pdf文件内容有的时候是“文字”,有的时候却是“图片”。pdf文件内容为图片的时候,不能进行复制粘贴;相反,当pdf文件内容为文字的时候,却可以进行复制粘贴。 如果说,有…

[译] Rust项目的基础设施

本篇是对 RustConf 2023中的Infrastructure for Rust这一视频的翻译与整理, 过程中为符合中文惯用表达有适当删改, 版权归原作者所有. 我今天要和大家讨论支持Rust及Rust项目的基础设施。Rust是一门令人惊叹的语言,我非常喜欢它,看到它的普及度和社区的成长令人非常满意。但从项…

es的内部数据存储逻辑,读取逻辑

Elasticsearch的内部数据存储逻辑和读取逻辑是非常复杂的&#xff0c;但是可以概括为以下几点&#xff1a; 索引&#xff08;Index&#xff09;: 一个索引就是一个文档的容器&#xff0c;它包含了很多文档。 分片&#xff08;Sharding&#xff09;: 为了处理大量数据&#xf…

CSA笔记4-包/源管理命令以及本地光盘仓库搭建

包/源管理命令 1.rpm是最基础的rmp包的安装命令&#xff0c;需要提前下载相关安装包和依赖包 2.yum/dnf是基于rpm包的自动安装命令&#xff0c;可以自动在仓库中匹配安装软件和依赖包 注意:以上是安装命令&#xff0c;以下是安装源 3.光盘源&#xff1a;是指安装系统时后的…

JAVA零基础学习2(算术逻辑三元运算符、原码反码补码、标准的类如何描写)

JAVA零基础学习2&#xff08;算术逻辑三元运算符、原码反码补码、标准的类如何描写&#xff09; 算术运算符算术运算符自增和自减运算符算术运算符的优先级示例代码 逻辑运算符三元运算符示例代码示例1&#xff1a;简单的条件判断示例2&#xff1a;嵌套的三元运算符 原码反码补…

【Elasticsearch7.11】集合字段 数量大小查询

需求&#xff1a; 有个字符串集合字段&#xff0c;需要查询出 集合大小 大于等于2 的数据 1、字段mapping "belong_account": {"type": "text","analyzer": "ik_max_word","search_analyzer": "ik_smart&qu…

ClusterIP、NodePort、LoadBalancer 和 ExternalName

Service 定义 在 Kubernetes 中&#xff0c;由于Pod 是有生命周期的&#xff0c;如果 Pod 重启它的 IP 可能会发生变化以及升级的时候会重建 Pod&#xff0c;我们需要 Service 服务去动态的关联这些 Pod 的 IP 和端口&#xff0c;从而使我们前端用户访问不受后端变更的干扰。 …

MySQL运维实战之ProxySQL(9.10)proxysql监控

作者&#xff1a;俊达 stats数据库 从stats数据库中可以查到proxysql一些内部组件的状态&#xff0c;如内存使用情况、连接池信息、会话信息、SQL执行状态等。 mysql> show tables from stats; --------------------------------------- | tables …

昇思25天学习打卡营第11天 | ResNet50迁移学习

利用ResNet50进行迁移学习的探索与实践 在人工智能的各个领域中&#xff0c;迁移学习已成为一个极其有效的策略&#xff0c;特别是在图像识别任务中。通过使用预训练模型&#xff0c;我们可以利用在大型数据集&#xff08;如ImageNet&#xff09;上学到的丰富特征&#xff0c;…

Windows图形界面(GUI)-DLG-C/C++ - 状态栏(StatusBar)

公开视频 -> 链接点击跳转公开课程博客首页 -> e​​​​​​链接点击跳转博客主页 状态栏(StatusBar) #define IDC_STATUSBAR 1111 case WM_INITDIALOG:{// 初始环境INITCOMMONCONTROLSEX initComm { 0 };initComm.dwSize sizeof(INITCOMMONCONTROLSEX);initComm.…

Vue 使用 Element UI 组件库

https://andi.cn/page/621589.html

C嘎嘎类与对象拓展

本篇文章是对浅谈C嘎嘎类与对象的拓展 初始化列表&#xff08;初始化&#xff09; 格式&#xff1a;类名&#xff08;类型 形参1, 类型 形参2&#xff09; &#xff1a;&#xff08;冒号&#xff09; 变量【类中声明的变量】&#xff08;形参1&#xff09; , 变量【类中…

基于天地图使用Leaflet.js进行WebGIS开发实战

目录 前言 一、天地图的key 1、创建应用 2、调用限制策略 注&#xff1a; &#xff08;1&#xff09;日服务调用超量会暂时拒绝访问&#xff0c;次日自动开启&#xff1b; &#xff08;2&#xff09;如果服务调用过程中存在数据爬取或者下载行为&#xff0c;服务调用会被自…

网络编程:UDP数据报套接字编程与TCP流套接字编程

目录 一、网络协议的基本概念 二、UDP数据报套接字编程 1.套接字的创建 2.绑定套接字 3.接收与发送数据 三、TCP流套接字编程 1.套接字的创建与绑定 接受连接 数据的接收与发送 关闭连接 四、UDP与TCP的适用场景 网络编程是现代计算机科学和工程领域中一个极为重要的…

ChatGPT对话:有关花卉数据集

【编者按】编者准备研究基于深度学习的花卉识别&#xff0c;首先需要花卉数据集。 后续&#xff0c;编者不断会记录研究花卉识别过程中的技术知识&#xff0c;敬请围观 1问&#xff1a;推荐一下用于深度学习的花卉数据集 ChatGPT 以下是一些用于深度学习的优秀花卉数据集&am…

【中项】系统集成项目管理工程师-第3章 信息技术服务-3.6服务发展

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

K12智慧校园智能化解决方案

1. 项目背景 “十三五”期间&#xff0c;教育信息化工作旨在为教育改革发展提供动力与手段&#xff0c;目标是到2020年建成与国家教育现代化发展目标相适应的教育信息化体系。 2. 建设需求 智慧校园系统框架解析与建设目标分析&#xff0c;旨在实现教育信息化目标任务。 3.…

【C++航海王:追寻罗杰的编程之路】关于空间配置器你知道多少?

目录 1 -> 什么是空间配置器 2 -> 为什么需要空间配置器 3 -> SGI-STL空间配置器的实现原理 3.1 -> 一级空间配置器 3.2 -> 二级空间配置器 3.2.1 -> 内存池 3.2.2 -> SGI-STL中二级空间配置器设计 3.2.3 -> SGI-STL二级空间配置器之空间申请 …