概览
以下是对变化的高层次概述:
- 新的
defineAsyncComponent
助手方法,用于显式地定义异步组件 component
选项重命名为loader
- Loader 函数本身不再接收
resolve
和reject
参数,且必须返回一个 Promise
介绍
以前,异步组件是通过将组件定义为返回 Promise 的函数来创建的,例如:
1 | const asyncPage = () => import('./NextPage.vue') |
或者,对于带有选项的更高阶的组件语法:
1 | const asyncPage = { |
3.x 语法
现在,在 Vue 3 中,由于函数式组件被定义为纯函数,因此异步组件的定义需要通过将其包装在新的 defineAsyncComponent
助手方法中来显式地定义:
1 | import { defineAsyncComponent } from 'vue' |
对 2.x 所做的另一个更改是,component
选项现在被重命名为 loader
,以便准确地传达不能直接提供组件定义的信息。
1 | import { defineAsyncComponent } from 'vue' |
此外,与 2.x 不同,loader 函数不再接收 resolve
和 reject
参数,且必须始终返回 Promise。
1 | // 2.x 版本 |
有关异步组件用法的详细信息,请参阅: