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

news2025/4/8 14:02:53

尚硅谷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.coloradmin.cn/o/1478556.html

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

相关文章

Programming Abstractions in C阅读笔记:p306-p307

《Programming Abstractions in C》学习第75天,p306-p307总结,总计2页。 一、技术总结 1.Quicksort algorithm(快速排序) 由法国计算机科学家C.A.R(Charles Antony Richard) Hoare(东尼.霍尔)在1959年开发(develop), 1961年发表…

力扣每日一题 使二叉树所有路径值相等的最小代价 满二叉树 贪心

Problem: 2673. 使二叉树所有路径值相等的最小代价 文章目录 思路复杂度Code 思路 👨‍🏫 灵神题解 复杂度 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int minIncrements(int …

瑞_23种设计模式_外观模式

文章目录 1 外观模式(Facade Pattern)1.1 介绍1.2 概述1.3 外观模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 jdk源码解析 🙊 前言:本文章为瑞_系列专栏之《23种设计模式》的外观模式篇。本文中的部分…

一篇关于,搬运机器人的介绍

搬运机器人是一种能够自动运输和搬运物品的机器人。它们通常配备有传感器和导航系统,可以在工厂、仓库、医院或其他场所自主移动,并且可以根据预先设定的路径或指令进行操作。 搬运机器人可以用于搬运重物、物料搬运、装卸货物、仓库管理等任务。它们可以…

Git自动忽略dll文件的问题

检查了半天发现是sourcetreee的全局忽略文件导致, 从里面删除dll即可。 我是干脆直接删了全局忽略,太恶心了,如下: #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.exe .vsconfig .s…

如何在Windows部署TortoiseSVN客户端并实现公网连接内网VisualSVN服务端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

USACO 2024 Feb Bronze铜组题解

闲话:今天是4年一度的奇观——2月29日!(地球人都知道) 所以为了纪念这个特殊的日子&#xff0c;我决定倒着讲。这是什么奇怪的规矩&#xff1f;(雾 Maximizing Productivity: 二分即可。 #include <bits/stdc.h> using namespace std; const int maxn200005; int c[ma…

市场复盘总结 20240229

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 60% 最常用…

软考52-上午题-【数据库】-关系模式2

一、关系模式的回顾 见&#xff1a;软考38-上午题-【数据库】-关系模式 二、关系模式 2-1、关系模式的定义 示例&#xff1a; 念法&#xff1a;A——>B A决定B&#xff0c;或者&#xff0c;B依赖于A。 2-2、函数依赖 1、非平凡的函数依赖 如果X——>Y&#xff0c;&a…

06|Mysql内部组件结构

1. 连接器 客户端要向mysql发起通信都必须先跟Server端建立通信连接&#xff0c;而建立连接的工作就是由连接器完成的 mysql -h host[数据库地址] -u root[用户] -p root[密码] -P 3306连接步骤: 1、如果用户名或密码不对&#xff0c;你就会收到一个"Access denied for us…

插值、逼近、拟合、光顺

插值 插值&#xff08;Interpolation&#xff09;是数学和计算科学中的一个重要概念&#xff0c;它指的是通过已知的一系列数据点&#xff0c;构造一个函数或曲线&#xff0c;并据此估计未知数据点的值。这个过程通常发生在已知数据点之间&#xff0c;用于预测或估算在这些已知…

【Qt】鼠标拖拽修改控件尺寸---八个方位修改

前提 在开发一个类似qdesiger的项目中 使用QGraphicsProxyWidget将Qt基础控件作为item放在场景视图中显示和编辑 创建自定义类继承QGraphicsProxyWidget&#xff0c;管理控件 成员变量 有控件的xywh等&#xff0c;其中x、y坐标存储是基于最底层widgetitem的 坐标系 x轴以右为正…

LeetCode 刷题 [C++] 第148题.排序链表

题目描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 题目分析 根据题意&#xff0c;可以使用归并排序来对链表进行排序。归并排序是基于分治的思想&#xff0c;比较容易实现的就是自顶向下的递归方式来实现。 先找出链表的中点&#x…

AI新秀Mistral:“Open AI“ 新时代

最近互联网出现不少类似“下一代openai”、“GPT-4最强竞品”、“法国AI独角兽”、“欧洲的OpenAI”、“微软新宠儿”.... 的文章&#xff0c;都会附带一张图片&#xff0c;就是下面这张&#xff1a; 那么到底发生了什么&#xff0c;出来个什么东西呢&#xff1f;就是本文的主…

【视频图像取证篇】Amped FIVE专业法医图像和视频增强软件之模糊图像去隔行功能

【视频图像取证篇】Amped FIVE专业法医图像和视频增强软件之模糊图像去隔行功能 法医图像和视频增强软件&#xff0c;专业又强大&#xff01;&#xff01;&#xff01;超过 140 种过滤器和工具&#xff0c;用于分析、恢复和增强数字图像和视频。Amped FIVE能够稳定抖动的视频&…

XSS简介及xsslabs第一关

XSS被称为跨站脚本攻击(Cross-site scripting)&#xff0c;由于和CSS(CascadingStyle Sheets)重名&#xff0c;所以改为XSS。 XSS主要速于javascript语言完成恶意的攻击行为&#xff0c;因为javascript可非常灵活的操作html、css和浏览器 XSS就是指通过利用网页开发时留下的漏…

猜数字游戏,炸弹数,random

package com.zhang.random;import java.util.Random; import java.util.Scanner;public class RandomTest2 {public static void main(String[] args) {//随机生成一个1~100之间的数&#xff0c;提示用户猜测&#xff0c;猜大提示猜大&#xff0c;猜小提示小了&#xff0c;直到…

二叉树——二叉树所有路径

二叉树所有路径 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,5] 输出&#xff1a;["1->2->5","1-…

【ACW 服务端】k8s部署

k8s部署 --- apiVersion: apps/v1 kind: Deployment metadata:annotations:k8s.kuboard.cn/displayName: 【wu-smart-acw-server】后台服务端labels:k8s.kuboard.cn/layer: svck8s.kuboard.cn/name: wu-smart-acw-servername: wu-smart-acw-servernamespace: defaultresourceV…

HQYJ 2024-2-29 作业

作业&#xff1a; 编写链表&#xff0c;链表里面随便搞点数据 使用 fprintf 将链表中所有的数据&#xff0c;保存到文件中 使用 fscanf 读取文件中的数据&#xff0c;写入链表中 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <…