【vue3学习笔记】Suspense组件;vue3中的其它改变

尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通

课程 P167节 《Suspense组件》笔记

在这里插入图片描述

想要学习suspense,先来了解静态组件与异步组件。

静态引入与异步引入:

在这里插入图片描述

在network中将网速调慢,观察在静态引入和异步引入模式下,两个组件的加载情况,会发现:静态引入时,两个组件是一起加载出来的;Child组件为异步引入模式下,App组件会先加载完成并呈现,之后Child组件才会加载完成并呈现。

如果采用静态引入方式,当Child组件加载完成前,整个App组件都不会渲染。这样带来的一个问题是:比如页面的组件结构如图中方框所示,嵌套了很多层组件,此时假如最里层的红色框组件加载出现了问题,就会造成所有组件都不会渲染,假如最里层的红色框组件加载缓慢,也会造成所有组件都会等待其加载完成之后才会渲染,就像木桶原理,能装多少水取决于最短的那块木板。什么时候可以展示,取决于最慢的组件。

在这里插入图片描述

而使用异步组件就不会存在这个问题,但异步组件也有一个问题,即先加载完成并呈现的组件可能会让用户认为页面所有元素都已加载完毕,并不知道还有未渲染呈现的部分;而当异步组件加载完成并渲染呈现时,又可能造成页面的抖动。这就造成了不太好的用户体验。

这种场景下,就可以使用Suspense,它是一个内置组件,不需引入,直接使用。它内部原理是使用插槽,内部写好了一个黄色插槽和一个粉色插槽,分别对应正常应该渲染呈现的组件,以及组件未加载完成前呈现的内容。
在这里插入图片描述

Suspense用法如下,default插槽用来定义真正需要呈现的组件;fallback插槽用来定义组件加载完成前呈现的内容:

在这里插入图片描述

此时会发现控制台有个提示:Suspense还在实验中API有可能改变。

在这里插入图片描述

除了网速慢得情况,还有一种情况可以导致组件加载延迟:在setup中返回一个Promise,其中有一个异步操作,一段时间后返回一个值:

在这里插入图片描述

之前讲到setup时曾提到:

在这里插入图片描述

此前不涉及异步组件和sespense时,在正常同步引入组件的情况下,如果在setup中返回一个Promise,会导致返回Promise的整个组件渲染不出来

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果一个组件是异步引入的,则这个组件可以在setup中返回一个Promise;也可以用async修饰 setup

在这里插入图片描述

完善之前的知识点:

在这里插入图片描述

课程 P168节 《vue3中的其它改变》笔记

1、全局API的转移

在这里插入图片描述
在这里插入图片描述

2、data选项不能再声明为一个对象;
3、过渡类名更加语义化:

在这里插入图片描述

4、vue3移除了keyCode修饰符,因为其兼容性较差(同时也移除了Vue.config.keyCodes配置);
5、vue3移除了v-on.native修饰符

在这里插入图片描述

在这里插入图片描述

默认情况下,给一个子组件绑定click事件时,vue会默认认为这是一个自定义事件,只有加上 .native 修饰符,告诉vue这是一个原生事件。vue3中移除了 .native 修饰符。

在这里插入图片描述

那么怎么区分绑定在子组件上的事件是原生事件还是自定义事件呢?vue3中的子组件中需要声明自定义事件,通过emits:[‘事件名’] 的形式定义声明自定义事件,未在这里声明的事件即为原生事件:

在这里插入图片描述

6、vue3移除了过滤器:过滤器实现的功能通过methods和computed也可以实现。
在这里插入图片描述

最后,视频课程中老师提到,除了基础知识,到了实际工作岗位上,真实项目中的业务逻辑远远比课程中的练习要复杂得多。因此强大的业务能力也是必需的。

========== 分割线(以下属于个人一点感悟,类似个人日记,不具备知识性与普遍性) =========

说到业务能力,我恍然大悟,一直以来我总认为自己是小白的原因就在于技术不够好,掌握的技术知识不够,实际上业务能力方面更加欠缺且完全没有重视起来,基本上把前端开发只理解成了掌握足够的前端开发框架与知识,所谓的业务能力这一块,完全被我无视了。

这也是造成自己进步缓慢的一个极大原因。怎么提升自己的业务能力?

1、对需求的充分理解,尤其是涉及有业务逻辑的部分,一定要吃透。作为小白总是急于用代码将需求要求的东西实现出来,有时在没有充分理解和吃透需求中的业务逻辑时,对相关代码的逻辑实现也会不好想清楚,写起代码来容易抓瞎;

2、联调和测试的充分与全面。今天日清会,联调的接口展示数据是好的,但全功能从入口进入时,换成了另外的数据,返回字段有的出现问题,导致页面不能正常展示了。所以,联调和测试过程中,一定要多测几条数据、全流程进行测试。不能觉得用一条数据调通了就没有问题了。

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

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

相关文章

skiplist(高阶数据结构)

目录 一、概念 二、实现 三、对比 一、概念 skiplist是由William Pugh发明的,最早出现于他在1990年发表的论文《Skip Lists: A Probabilistic Alternative to Balanced Trees》 skiplist本质上是一种查找结构,用于解决算法中的查找问题,…

【JavaEE进阶】图书管理系统开发日记——捌

文章目录 🍃前言🎍统一数据返回格式🚩快速入门🚩存在问题🎈问题原因🎈代码修改 🚩统一格式返回的优点 🍀统一异常处理🌲前端代码的修改🚩登录页面&#x1f6a…

阿里云服务器购买_价格_费用_云服务器ECS——阿里云

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

【堆】【优先级队列】Leetcode 215. 数组中的第K个最大元素

【堆】【优先级队列】Leetcode 215. 数组中的第K个最大元素 PriorityQueue操作解法 优先级队列构造堆 小顶堆 ---------------🎈🎈题目链接🎈🎈------------------- PriorityQueue操作 创建优先级队列【默认创建小顶堆】&#xf…

【Simulink系列】——Simulink子系统子系统封装模块库技术

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习! 引入 前面对于简单的动态系统仿真,可以直接建立模型,然后仿真。但是对于复杂的系统,直接建立系统会显得杂乱无章&#xff0…

一、前端开发

#视频链接:https://www.bilibili.com/video/BV1rT4y1v7uQ?p1&vd_source1717654b9cbbc6a773c2092070686a95 前端开发 前端开发1、快速开发网站2、浏览器能识别的标签2.1 编码(head)2.2 title(head)2.3 标题2.4 div和span练习题2.5 超链接…

疑难杂症篇(二十三)--重新打开Typora编写的markdown文件出现乱码情况的解决方案

1.问题叙述 有时候使用 T y p o r a {\rm Typora} Typora软件编写的 M a r k d o w n {\rm Markdown} Markdown文件过了一段时间重新打开时会出现乱码的情况,此篇仅提供一种因公式的对齐引起的乱码的解决方案,如果没有效果,则请移步其他的解…

【年后找工作】每日一套面经(Java),抓住金三银四。

1、MyBatis返回多个结果集 MyBatis可以通过存储过程或者自定义查询语句来返回多个结果集。 存储过程 存储过程(Stored Procedure)是一组预编译的 SQL 语句集合,可以在数据库中被多次调用。存储过程通常用于执行特定的任务或操作&#xff0c…

TikTok矩阵系统的功能展示:深入解析与源代码分享!

今天我来和大家说说TikTok矩阵系统,在当今数字化时代,社交媒体平台已成为人们获取信息、交流思想和娱乐放松的重要渠道,其中,TikTok作为一款全球知名的短视频社交平台,凭借其独特的创意内容和强大的算法推荐系统&#…

Linux小项目:在线词典开发

在线词典介绍 流程图如下: 项目的功能介绍 在线英英词典项目功能描述用户注册和登录验证服务器端将用户信息和历史记录保存在数据中。客户端输入用户和密码,服务器端在数据库中查找、匹配,返回结果单词在线翻译根据客户端输入输入的单词在字…

Unity(第八部)Vector3的三维向量和旋转(坐标和缩放也简单讲了一下)

对了,Unity的生命周期自行百度吧;我这边整理的都不是很满意 Vector 是结构体 Vector2是指里面有两个变量 Vector3是指里面有三个变量 Vector4是指里面有四个变量 Vector3常用的变量就是x y z,所以,它可以代表坐标、旋转、缩放、三维向量 创…

STL常见容器(list容器)---C++

STL常见容器目录: 6.list容器6.1 list基本概念6.2 list构造函数6.3 list 赋值和交换6.4 list 大小操作6.5 list 插入和删除6.6 list 数据存取6.7 list 反转和排序6.8自定义排序案例 6.list容器 6.1 list基本概念 功能: 将数据进行链式存储; …