vue3之Suspense加载异步数据的使用
更新时间:2023年02月05日 15:52:58 作者:小渣亮
本文主要介绍了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 lang="ts" 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 lang="scss" scoped></style>
效果
调用请求的 loading效果

请求 返回数据时候

请求 返回错误时候

到此这篇关于vue3之Suspense加载异步数据的使用的文章就介绍到这了,更多相关vue3 Suspense加载异步内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue3 setup语法糖销毁一个或多个定时器(setTimeout/setInterval)
这篇文章主要给大家介绍了关于Vue3 setup语法糖销毁一个或多个定时器(setTimeout/setInterval)的相关资料,vue是单页面应用,路由切换后,定时器并不会自动关闭,需要手动清除,当页面被销毁时,清除定时器即可,需要的朋友可以参考下2023-10-10
element-ui中el-form-item内的el-select该如何自适应宽度
自从用了element-ui,确实好用,该有的组件都有,但是组件间的样式都固定好了,下面这篇文章主要给大家介绍了关于element-ui中el-form-item内的el-select该如何自适应宽度的相关资料,需要的朋友可以参考下2022-11-11
Vue项目如何根据图片url获取file对象并用axios上传
这篇文章主要介绍了Vue项目如何根据图片url获取file对象并用axios上传问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09
vue el-table字段点击出现el-input输入框,失焦保存方式
这篇文章主要介绍了vue el-table字段点击出现el-input输入框,失焦保存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02


最新评论