概述

最近在开发vue3.x的我的项目中,配置好路由之后点击跳转页面就呈现以下报错:

Uncaught (in promise) TypeError: Cannot read property '__asyncLoader' of undefined

网上也没有找到问题的解决办法,话不多说,间接上解决办法:

辅助函数defineAsyncComponent

Vue 3.x 中,对异步组件的应用跟 Vue 2.x 不同了。变动次要有三点:

  • 异步组件申明办法的扭转:Vue 3.x 新增一个辅助函数defineAsyncComponent,用来显示申明异步组件;
  • 异步组件高级申明办法中的 component 选项更名为loader;
  • loader绑定的组件加载函数不再接管resolve和reject参数,而且必须返回一个Promise;

vue3我的项目中引入组件的写法如下:

留神:

defineAsyncComponent只实用于vue3的异步组件,对于路由懒加载是有效的。路由懒加载的办法和vue2.x一样。

心愿能帮到遇到同样问题的你!