iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue3异步组件Suspense如何使用
  • 173
分享到

Vue3异步组件Suspense如何使用

2023-07-05 01:07:27 173人浏览 八月长安
摘要

这篇文章主要介绍了vue3异步组件Suspense如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3异步组件Suspense如何使用文章都会有所收获,下面我们一起来看看吧。Suspense组件官网中

这篇文章主要介绍了vue3异步组件Suspense如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3异步组件Suspense如何使用文章都会有所收获,下面我们一起来看看吧。

Suspense组件

官网中有提到他是属于实验性功能:
<Suspense> 是一项实验性功能。它不一定会最终成为稳定功能,并且在稳定之前相关 api 也可能会发生变化。
<Suspense> 是一个内置组件,用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌套异步依赖项解析完成,并可以在等待时渲染一个加载状态。

意思就是此组件用来等待异步组件时渲染一些额外内容,让应用有更好的用户体验

要了解 <Suspense> 所解决的问题和它是如何与异步依赖进行交互的,我们需要想象这样一种组件层级结构:

<Suspense>└─ <Dashboard>   ├─ <Profile>   │  └─ <FriendStatus>(组件有异步的 setup())   └─ <Content>      ├─ <ActivityFeed> (异步组件)      └─ <Stats>(异步组件)

在这个组件树中有多个嵌套组件,要渲染出它们,首先得解析一些异步资源。如果没有 <Suspense>,则它们每个都需要处理自己的加载、报错和完成状态。在最坏的情况下,我们可能会在页面上看到三个旋转的加载态,在不同的时间显示出内容。

有了 <Suspense> 组件后,我们就可以在等待整个多层级组件树中的各个异步依赖获取结果时,在顶层展示出加载中或加载失败的状态。

接下来看个简单的例子:

首先需要引入异步组件

import {defineAsyncComponent} from 'vue'const Child = defineAsyncComponent(()=>import('./components/Child.vue'))

简洁一些就是用组件实现异步的加载的这么一个效果

Home父组件代码如下:

<template>  <div class="home">    <h4>我是Home组件</h4>    <Suspense>       <template #default>        <Child />      </template>      <template v-slot:fallback>        <h4>Loading...</h4>      </template>    </Suspense>  </div></template> <script >// import Child from './components/Child'//静态引入import { defineAsyncComponent  } from "vue";const Child = defineAsyncComponent(() => import("../components/Child"));export default {  name: "",  components: { Child },};</script> <style>.home {  width: 300px;  background-color: gray;  padding: 10px;}</style>

自组件Child

<template>  <div class="child">    <h4>我是Child组件</h4>    name: {{user.name}}    age: {{user.age}}  </div></template><script>import { ref } from "vue";export default {  name: "Child",  async setup() {    const NanUser = () => {      return new Promise((resolve, reject) => {        setTimeout(() => {          resolve({            name: "NanChen",            age: 20,          });        },2000);      });    };    const user = await NanUser();    return {      user,    };  },};</script><style>.child {  background-color: skyblue;  padding: 10px;}</style>

根据插槽机制,来区分组件, #default 插槽里面的内容就是你需要渲染的异步组件; #fallback 就是你指定的加载中的静态组件。

效果如下:
Vue3异步组件Suspense如何使用

关于“Vue3异步组件Suspense如何使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Vue3异步组件Suspense如何使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Vue3异步组件Suspense如何使用

本文链接: https://www.lsjlt.com/news/348679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue3异步组件Suspense如何使用
    这篇文章主要介绍了Vue3异步组件Suspense如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3异步组件Suspense如何使用文章都会有所收获,下面我们一起来看看吧。Suspense组件官网中...
    99+
    2023-07-05
  • Vue3异步组件suspense使用详解
    目录结合elementui 使用 vue在解析我们的组件时, 是通过打包成一个 js 文件,当我们的一个组件 引入过多子组件是,页面的首屏加载时间 由最后一个组件决定 优化的一种方式...
    99+
    2022-12-28
    Vue3 异步组件 suspense Vue3 组件 suspense
  • Vue3异步组件Suspense怎么使用
    今天小编给大家分享一下Vue3异步组件Suspense怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Suspense...
    99+
    2023-07-06
  • Vue3中如何使用suspense异步数据加载组件
    Vue3中如何使用suspense异步数据加载组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言Vue3 增加了很多让人眼前一亮的特征,suspense 组件就是其中之一,...
    99+
    2023-06-20
  • Vue3异步组件Suspense的使用方法详解
    Suspense组件 官网中有提到他是属于实验性功能:<Suspense> 是一项实验性功能。它不一定会最终成为稳定功能,并且在稳定之前相关 API 也可能会发...
    99+
    2023-01-28
    Vue3异步组件 Vue3异步组件Suspense的使用方法
  • Vue3异步数据加载组件suspense的使用方法
    目录前言创建组件 总结 前言 Vue3 增加了很多让人眼前一亮的特征,suspense 组件就是其中之一,对处理异步请求数据非常实用,本文通过简单的实例介绍其使用方法,如对其有兴趣,...
    99+
    2024-04-02
  • vue3之Suspense加载异步数据的使用
    Suspense使用 <template> <Suspense> <template #default> <Prod...
    99+
    2023-02-05
    vue3 Suspense加载异步 vue3 Suspense 异步
  • vue3之Suspense加载异步数据怎么使用
    这篇文章主要介绍了vue3之Suspense加载异步数据怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3之Suspense加载异步数据怎么使用文章都会有所收获,下面我们一起来看看吧。Suspens...
    99+
    2023-07-05
  • vue3异步组件怎么用
    这篇文章给大家分享的是有关vue3异步组件怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在vue3中,异步组件可以减少打包的结果,会将异步组件...
    99+
    2024-04-02
  • Vue3中的异步组件defineAsyncComponentAPI怎么使用
    传递工厂函数作为参数defineAsyncComponent方法接收一个工厂函数是它的基本用法,这个工厂函数必须返回一个Promise,Promise的resolve应该返回一个组件。我们这里以Vue Cli创建的项目为例,这里我稍微做了一...
    99+
    2023-05-21
    Vue3
  • Vue中如何使用异步组件
    Vue中如何使用异步组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、前置要求建议使用webpack;Browserify在默认情况下...
    99+
    2024-04-02
  • Vue3异步组件有什么变化
    今天小编给大家分享一下Vue3异步组件有什么变化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先我们来看一下有关于异步组件...
    99+
    2023-06-27
  • vue3 table组件如何使用
    今天小编给大家分享一下vue3 table组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基础表格首先开发tabl...
    99+
    2023-07-06
  • Vue3之Teleport组件如何使用
    这篇文章主要介绍了Vue3之Teleport组件如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3之Teleport组件如何使用文章都会有所收获,下面我们一起来看看吧。Teleport 组件解决的问...
    99+
    2023-07-06
  • vue3动态组件如何使用
    这篇“vue3动态组件如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3动态组件如何使用”文章吧。问题:为什么v...
    99+
    2023-07-05
  • Vue异步组件怎么使用
    本篇内容主要讲解“Vue异步组件怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue异步组件怎么使用”吧!1、前置要求建议使用webpack;Browserify在默认情况下不支持;2、...
    99+
    2023-07-04
  • 一文搞懂Vue3中的异步组件defineAsyncComponentAPI的用法
    目录前言传递工厂函数作为参数传递对象类型作为参数总结前言 当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载;这样的做得目的可以很好的...
    99+
    2024-04-02
  • Vue3中如何使用异步请求示例详解
    目录1、前言2、快速开始2.1、思路2.2、安装&封装axios2.3、设计接口2.4、设计视图2.5、最终效果总结1、前言 接上节,我们初步体验了layui-vue的用法。...
    99+
    2024-04-02
  • Vue3中如何使用defineCustomElement定义组件
    本篇内容主要讲解“Vue3中如何使用defineCustomElement定义组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3中如何使用defineCustomElement定义组件”...
    99+
    2023-07-04
  • vue为啥要使用异步组件
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。使用异步组件的原因1.异步组件可以减少打包的结果。会将异步组件分开打包,会采用异步的方式加载组件,可以有效的解决一个组件过大的问题。不使用异步组件,如果组件功能比较多打包...
    99+
    2023-05-14
    Vue 异步组件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作