成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

重新“定義”Vue 3的異步組件

開發 前端
在 Vue 3 中函數式組件均有普通函數來定義,所以異步組件需要通過 defineAsyncComponent 來進行顯式地定義。

[[426599]]

開門見山

依照慣例,首先從上帝視角看一下異步組件發生了什么改變:

  • 新增了一個方法:defineAsyncComponent,用來顯式地定義異步組件
  • component 選項改名:loader
  • Loader 函數不再接受 resolve 和 reject 作為參數,并且必須返回一個 Promise

[[426600]]

曾經的異步組件

在 Vue 2.x 中,定義一個異步組件還是很方便的:

  1. const asyncPage = () => import('./HugePageComponent.vue'); 

如果需要一些高級的用法(我賭五毛錢你不知道這個用法):

  1. import { ErrorComponent, LoadingComponent } from 'xxx'
  2. const asyncPage = { 
  3.   component: () => import('./HugePageComponent'), 
  4.   delay: 1000, 
  5.   timeout: 3000, 
  6.   error: ErrorComponent, 
  7.   loading: LoadingComponent, 

[[426601]]

即將到來的 Vue 3 異步組件

因為在 Vue 3 中函數式組件均有普通函數來定義,所以異步組件需要通過 defineAsyncComponent 來進行顯式地定義。

  1. import { defineAsyncComponent } from 'vue'
  2. import { ErrorComponent, LoadingComponent } from 'xxx'
  3.  
  4. // 常規用法 
  5. const asyncPage = defineAsyncComponent(() => import('./HugePageComponent')); 
  6.  
  7. // 高級用法 
  8. const asyncPageWithOptions = defineAsyncComponent({ 
  9.   // 這里之前是 component,現在改叫 loader 了  
  10.   loader: () => import('./HugePageComponent'), 
  11.   delay: 1000, 
  12.   timeout: 3000, 
  13.   errorComponent: ErrorComponent, 
  14.   loadingComponent: LoadingComponent, 
  15. }); 

[[426602]]

另外,和 Vue 2.x 不同的是,loader 函數不再提供 resolve 和 reject 作為默認參數了,而且必須返回一個 Promise:

  1. // 2.x 版本 
  2. const oldAsyncComponent = (resolve, reject) => { 
  3.   /* ... */ 
  4.  
  5. // 3.x 版本 
  6. const newAsyncComponent = defineAsyncComponent( 
  7.  () => { 
  8.     return new Promise((resolve, reject) => { 
  9.       /* ... */ 
  10.     }); 
  11.   } 
  12. ); 

如果想更深入的了解 Vue 3 的異步組件,請移步:https://v3.vuejs.org/guide/migration/async-components.html#_3-x-syntax(目前還沒有中文版)。

本文轉載自微信公眾號「劉凱里」,可以通過以下二維碼關注。轉載本文請聯系劉凱里公眾號。

 

 

責任編輯:武曉燕 來源: 劉凱里
相關推薦

2021-05-18 07:51:37

Suspense組件Vue3

2024-08-13 09:26:07

2023-04-26 15:17:33

Vue 3開發前端

2024-03-13 08:37:18

Vue3Suspense異步組件

2022-04-26 05:55:06

Vue.js異步組件

2020-12-01 08:34:31

Vue3組件實踐

2023-12-19 16:50:37

2020-09-17 07:08:04

TypescriptVue3前端

2024-07-10 08:39:49

2021-11-30 08:19:43

Vue3 插件Vue應用

2023-04-27 11:07:24

Setup語法糖Vue3

2023-04-02 10:06:24

組件vue3sign2.

2024-01-09 08:34:56

Vue3.js組件通信

2023-04-19 15:29:53

通信技巧Vue 3開發

2022-05-06 08:47:10

Vue 3組件前端

2023-06-28 08:05:46

場景vue3自定義

2021-01-20 15:59:14

開發Vue組件庫

2009-08-03 13:10:03

2022-09-20 11:00:14

Vue3滾動組件

2024-08-07 10:16:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲美女在线一区 | 在线一区观看 | 亚洲人成人一区二区在线观看 | 日韩三级一区 | 香蕉久久久 | 尤物在线精品视频 | 欧美8一10sex性hd | 一级毛片免费视频观看 | 久久久91精品国产一区二区精品 | 中文字幕一区二区三区日韩精品 | 亚洲视频 欧美视频 | 欧美精品久久久久久久久老牛影院 | 精品在线观看一区二区 | 天天玩天天操天天干 | 激情小视频 | 日本一二区视频 | 国产激情片在线观看 | 久久精品美女 | 欧美激情一区 | 国产欧美性成人精品午夜 | 91在线看视频 | 中文字幕乱码一区二区三区 | 国产成人在线播放 | 伊人艹 | 三级黄片毛片 | 亚洲欧美一区二区三区在线 | 午夜精品一区 | 久久国产成人午夜av影院武则天 | a在线观看 | 九九在线视频 | 精品动漫一区 | 日日夜夜精品视频 | 欧美色综合一区二区三区 | 污视频免费在线观看 | 日本三级网站在线观看 | 在线观看国产视频 | 三级av在线 | 青青草精品 | 亚洲成人免费在线观看 | 91久久| 日韩免费网站 |