当前位置: 首页 > wzjs >正文

昆山做网站企业传统网站开发实例

昆山做网站,企业传统网站开发实例,腾讯域名,百度号码认证平台个人号码申诉Suspense 实验性功能<Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌套异…
Suspense

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

<Suspense> 可以等待的异步依赖有两种:

  • 带有异步 setup() 钩子的组件。这也包含了使用 <script setup> 时有顶层 await 表达式的组件。

  • 异步组件。
    异步组件默认就是“suspensible”的。这意味着如果组件关系链上有一个<Suspense>,那么这个异步组件就会被当作这个<Suspense> 的一个异步依赖。在这种情况下,加载状态是由 <Suspense> 控制,而该组件自己的加载、报错、延时和超时等选项都将被忽略。

异步组件也可以通过在选项中指定 suspensible: false 表明不用 Suspense 控制,并让组件始终自己控制其加载状态

<Suspense> 组件会触发三个事件:pending、resolve 和 fallback。pending 事件是在进入挂起状态时触发。resolve 事件是在 default 插槽完成获取新内容时触发。fallback 事件则是在 fallback 插槽的内容显示时触发。
该组件有两个插槽:

  • default:如果default可以显示,那么显示default的内容;
  • fallback:如果default无法显示,那么会显示fallback插槽的内容;
<template>{{fullName}}<h1>App Component</h1><Suspense><template #default><AsyncMyComponent /></template><template #fallback>loading....</template><template #error="props"><Error :message="props.error.message" /></template></Suspense>
</template><script setup lang="ts">
import { ref ,computed,defineAsyncComponent} from 'vue'
import Loading from './Loading.vue'
import Error from './Error.vue'const firstName = ref('su')
const lastName = ref('mu')
const fullName = computed(() => firstName.value  + lastName.value)
// 定义异步组件
const AsyncMyComponent = defineAsyncComponent({
//   加载函数loader: () => new Promise((resolve, reject) => {setTimeout(() => {resolve(import('./AsyncMyComponent.vue'));}, 3000)}),
//   loader: () => import('./AsyncMyComponent.vue'),// 加载超时时间(可选)timeout: 3000,// 加载中的组件(可选)loadingComponent: Loading,// 错误组件(可选)errorComponent: Error,// 延迟显示加载组件的时间(可选)delay: 200,// 加载失败时的错误处理函数(可选)onError: (error: Error, retry: () => void, fail: () => void, attempt: number) => {console.error(`Error loading component: ${error.message}`);if (attempt <= 3) {retry();} else {fail();}}
});
</script><style scoped></style>

AsyncMyComponent.vue

<template><div><h2>Async Home Component</h2><p>{{ message }}</p></div></template><script lang="ts">import { defineComponent, ref, onMounted } from 'vue';export default defineComponent({name: 'AsyncMyComponent',setup() {const message = ref<string | null>(null);onMounted(async () => {try {// 模拟异步请求await new Promise<void>((resolve) => {setTimeout(() => {message.value = '异步数据加载完成';resolve();}, 2000);});} catch (error) {console.error('Error fetching data:', error);throw error;}});return { message };}});</script>

Loading.vue

<template><div class="loading"><p>Loading...</p></div></template><script lang="ts">import { defineComponent } from 'vue';export default defineComponent({name: 'Loading'});</script><style scoped>.loading {display: flex;justify-content: center;align-items: center;height: 100px;font-size: 18px;color: #666;}</style>

Error.vue

<template><div class="error"><p>Error: {{ message }}</p></div></template><script lang="ts">import { defineComponent, PropType } from 'vue';export default defineComponent({name: 'Error',props: {message: {type: String as PropType<string>,required: true}}});</script><style scoped>.error {color: red;background-color: #ffebee;padding: 10px;border-radius: 4px;}</style>

文章转载自:

http://dfACZqsZ.zqfjn.cn
http://n91k3OZY.zqfjn.cn
http://cLDvIYTV.zqfjn.cn
http://EYZRF8ZO.zqfjn.cn
http://KDSreBeP.zqfjn.cn
http://hSRx3hbd.zqfjn.cn
http://YtMqamAC.zqfjn.cn
http://8ZAkEYjm.zqfjn.cn
http://Dl3Rz6A5.zqfjn.cn
http://llhHv2OA.zqfjn.cn
http://brfcO6NB.zqfjn.cn
http://YSFuakIL.zqfjn.cn
http://j7ROW7Zo.zqfjn.cn
http://4WNWO5e1.zqfjn.cn
http://zUPghcWb.zqfjn.cn
http://WwVfL2sn.zqfjn.cn
http://Vs0PJ9wb.zqfjn.cn
http://tI9Cmoy6.zqfjn.cn
http://k6kJlVxX.zqfjn.cn
http://biTtDwxq.zqfjn.cn
http://NmNm9zfX.zqfjn.cn
http://gJpPAzwy.zqfjn.cn
http://PzLwqb4l.zqfjn.cn
http://Y7AvAYpX.zqfjn.cn
http://KseTNtAE.zqfjn.cn
http://WuStOpT0.zqfjn.cn
http://OTRBjNRo.zqfjn.cn
http://VYt0f60e.zqfjn.cn
http://B80HCCfI.zqfjn.cn
http://2a6jELsS.zqfjn.cn
http://www.dtcms.com/wzjs/755035.html

相关文章:

  • 手机网站网页开发教程青岛企业网站开发
  • 58同城网站建设的不足图书网站建设实训总结
  • 小程序定制开发流程深圳网站seo地址
  • 网站移动端的设计思想网站建设概述
  • 石家庄市网站建设培训班wordpress 短信插件
  • 建网站找哪个平台好呢温州做网站建设
  • 政务网站建设的三个核心功能是什么房屋装修效果图大全
  • 淘宝网站开发方式百度seo是啥
  • 巩义网站推广怎么做网站诊断seo当前数据是指
  • 开一个网站需要多少钱春雨app直播免费看
  • 网站建设收费揭阳专业网站建设
  • 贵州建站管理系统网络营销方式优势
  • 成都网站设计 冠辰花钱人做的网站做好后算谁的
  • 贵州省贵州省建设厅网站网站空间在哪买
  • 咖啡网站建设深圳家具网站建设
  • 中国建设银行网站密码帝国 网站搬家
  • 金华规划局网站开发区蒙牛企业网站建设规划书
  • 泉州制作网站公司wordpress 付费功能
  • 建站能赚钱吗WordPress音乐悬浮插件
  • 正规品牌网站设计有没有专门做衣服搭配的网站
  • 惠州网站建设英语房屋设计软件有哪些
  • 重庆金建站天眼查企业查询下载
  • 免费网站模板库视频背景做网站背景
  • 网站音乐播放器插件网络营销的五个发展阶段
  • 建设网站女装名字大全深圳龙华区是哪个区
  • 山东济南网站推广新媒体销售好做吗
  • 自己怎么开发网站谷歌浏览器下载官方正版
  • 做一套网站多钱徐州seo代理计费
  • 最牛的视频网站建设毕业设计题目
  • 确定网站主题快速搭建网站推荐