热心青年小邓 2023-06-08 16:33 采纳率: 90.9%
浏览 22
已结题

关于#前端#的问题:使用vite+vue3开发项目 路由使用异步加载方式引入:

vite+vue3路由组件动态引入

使用vite+vue3开发项目 路由使用异步加载方式引入:

import {defineAsyncComponent} from 'vue'
export const routes = [
    { path: "/about", component:defineAsyncComponent( ()=>import('./views/About.vue') ), name: "about", meta: { isLogin: false } }
]

从文档找到这种方式,页面可以正常展示但是不能进行点击之类的操作了。请问有解决办法吗

  • 写回答

1条回答 默认 最新

  • 技术探索 网络安全领域优质创作者 2023-06-08 21:29
    关注

    如果您使用 Vite + Vue3 开发项目,在路由中使用动态引入方式异步加载组件,但是页面无法进行点击等操作,可能是因为路由未正确注册到 Vue Router 中。您可以尝试以下方法进行解决:

    1. 确认路由是否正确注册到 Vue Router 中。
      在您的代码中,使用 import 异步加载组件时,可能会存在加载的组件还未被注册到 Vue Router 中的情况。因此,在注册路由之前,我们需要等待路由组件加载完成。您可以在路由的 component 属性中使用异步函数,等待组件加载完成后注册路由。
    // router.js
    import { createRouter, createWebHistory } from 'vue-router'
    
    const routes = [
      {
        path: "/about",
        name: "About",
        component: () => import('./views/About.vue'),
        meta: { isLogin: false }
      }
    ]
    
    const router = createRouter({
      history: createWebHistory(),
      routes
    })
    
    export default router
    
    
    1. 确认路由链接是否正确标记为 组件。
      在 Vue Router 中,我们一般使用 组件来生成路由链接,确保用户可以通过点击链接进行路由跳转。如果您的路由链接不是使用 组件生成的,例如使用 a 标签或 location.href 进行跳转,可能会导致路由激活失败。

    确保您的路由链接已被正确标记为 组件,例如:

    
    ```javascript
    <template>
      <div>
        <router-link to="/about">About</router-link>
      </div>
    </template>
    
    

    ```
    如果上述方法无法解决问题,您可以在控制台查看是否有报错信息

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月12日
  • 创建了问题 6月8日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。