所有分类
  • 所有分类
  • 后端开发
vue3每日一学:用实例说明如何使用Suspense加载异步数据

vue3每日一学:用实例说明如何使用Suspense加载异步数据

运行环境:Windows
所需软件:Word
资源类型:简历
资源下载
仅限注册用户下载,请先
解压密码:www.icz.com 使用版权:资源收集于网络,版权归原创者所有

vue3每日一学:用实例说明如何使用Suspense加载异步数据。

Suspense使用

<template>
  <Suspense>
    <template #default>
      <ProductList></ProductList>
    </template>
    <template #fallback> <div>loading...</div> </template>
  </Suspense>
</template>
 
<script setup lang="ts" name="Cart">
import ProductList from "./ProductList.vue";
</script>
<style lang="scss" scoped></style>

组件

使用 flag 与 Promise 来模拟异步加载数据,渲染成功与失败的页面效果

<!-- -->
<template>
  <div v-if="data">
    ProductList
    <div>data父 - {{ data }}</div>
  </div>
  <div v-if="err">
    {{ err }}
  </div>
</template>

<script setup name="ProductList">
import { ref } from "vue";

const data = ref<any>(null);
const flag = false;
const err = ref(null);
function aaa() {
  return new Promise((resolve) => {
    setTimeout(() => {
      if (!flag) {
        return resolve({ code: 0, errorMsg: "参数错误" });
      }
      return resolve({
        code: 200,
        data: {
          result: 42,
        },
      });
    }, 3000);
  });
}
const res = await aaa();
console.log(res);

if (res.code === 200) {
  data.value = res.data.result;
} else {
  data.value = "";
  err.value = res.errorMsg;
}
</script>
<style scoped></style>

效果

调用请求的 loading效果

loading....

请求 返回数据时候

image.png

请求 返回错误时候

参数错误
资源下载
下载价格免费
解压密码:www.icz.com 使用版权:资源收集于网络,版权归原创者所有
运行环境:Windows
所需软件:Word
资源类型:简历
原文链接:https://www.icz.com/technicalinformation/web/vue3/2023/05/8655.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?