Suspense组件是Vue3中众所周知的特性之一。它们允许我们的应用程序在等待异步组件时呈现一些后备内容,从而让我们能够创建流畅的用户体验。值得庆幸的是,Suspense组件非常容易理解,它们甚至不需要任何额外的导入!在本文中:什么是Suspense组件何时使用它如何使用Suspense组件Suspense组件究竟是什么?Suspense组件用于等待异步组件解析显示回退内容。您可能想知道我们什么时候要使用异步组件?老实说,比你想象的还要多。每当我们希望组件等待数据被获取时(通常在异步API调用中),我们可以使用Vue3CompositionAPI来制作异步组件。以下是异步组件有用的一些实例:在页面加载之前显示加载动画显示占位符内容处理延迟加载的图像以前,在Vue2中,我们必须使用v-if或v-else等条件来检查我们的数据是否正确加载并显示回退。但是现在,Suspense内置于Vue3中,因此我们不必担心跟踪数据何时加载并相应地呈现。好吧...那么我们如何实现Suspense在这个例子中我们有一个异步的ArticleInfo.vue组件。由于本文的重点是Suspense,而不是CompositionAPI,因此我不会深入讨论这些细节。如果您对更完整的CompositionAPI教程感兴趣,请参阅此处。简而言之,只需知道设置方法可以像任何其他方法一样异步。对于我们的示例,ArticleInfo将具有一个异步设置方法,该方法将在返回之前加载用户数据。asyncfunctiongetArticleInfo(){//一些异步API调用return{article}}exportdefault{asyncsetup(){var{article}=awaitgetArticleInfo()return{article}}}然后,假设我们有一个包含ArticleInfo组件的ArticlePost.vue组件.如果我们想在等待组件获取数据并解析它时显示类似“Desperatelyloading...”的内容,我们只需三步即可实现Suspense。将异步组件包装在标签中在我们的异步组件旁边添加一个带有标签的同级组件。使用插槽将两个组件包装在一个
