17.0 vue3 Suspense的用法

2024-02-11 22:20

本文主要是介绍17.0 vue3 Suspense的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇:

16.0 vue3 Teleport---自定义dialog组件_十一月的萧邦-CSDN博客上一篇:15.0 vue3 provide&inject跨组件通信方式_十一月的萧邦-CSDN博客上一篇:14.0 vue3 customRef的使用_十一月的萧邦-CSDN博客上一篇:vue3 toRaw&markRawhttps://blog.csdn.net/qq_42543244/article/details/122793302本篇记录vue3的customRef,customRef是vue3的一大亮点,custom的意思大家都懂,自定义的意思,一旦出现自定义,那么就代表我们可https://blog.csdn.net/qq_42543244/article/details/122967700本篇记录,vue3中新增的标签 Suspense,示例一个简单的用法:

当我们的请求未得到响应时,展示loading,响应回来后,展示需要展示的内容。

在vue2中要想做到此目的,需要我们去写一个loading的组件,或者是骨架屏之类的,然后定义一个变量 默认为true,得到响应后更改为false,true的时候展示loading,false的时候展示我们的列表内容之类的,但是在vue3中,我们要想达到此目的会更容易点

App.vue

<template><div class="grand"><h1>我是app</h1><Suspense><template v-slot:default><child :id="99"></child></template><template v-slot:fallback><div>Loading...</div></template></Suspense></div>
</template><script>
import Child from "@/components/Child.vue";
export default {name: "App",components: {Child,},
};
</script>
<style scoped>
.grand {background-color: rgb(150, 156, 154);padding: 50px;
}
</style>

Child.vue

<template><div class="child"><h3>{{ msg }}-{{ msg1 }}</h3><h3>{{ otherInfo }}</h3></div>
</template>
<script>
import { ref } from "vue";
export default {props: {id: {required: true,type: Number,default: null,},},async setup(props) {let otherInfo = ref("其他信息");let msg = await getData(props.id);let msg1 = await getData1(props.id);function getData(id) {console.log(id);return new Promise((resolve) => {setTimeout(() => {resolve("hello");}, 1000);});}function getData1(id) {console.log(id);return new Promise((resolve) => {setTimeout(() => {resolve("world");}, 3000);});}return { otherInfo, msg, msg1 };},
};
</script><style scoped>
.child {background-color: rgb(22, 129, 201);padding: 50px;
}
</style>

效果:

 三秒之后会变为:

 

请注意,插槽的名称是固定的,不是随便自定义的!

这篇关于17.0 vue3 Suspense的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700943

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi