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

上海建设银行网站首页此网站不支持下载视频怎么办

上海建设银行网站首页,此网站不支持下载视频怎么办,新产品代理项目推荐,wordpress再安装vue工程中路由导致的循环依赖问题 问题简述环境routerroutes 问题原因分析解决方案 问题简述 做oj系统过程中,前端vue工程中遇到报错 ReferenceError: can’t access lexical declaration ‘routes’ before initialization 环境 vitevue3router中使用外部引入的…

vue工程中路由导致的循环依赖问题

  • 问题简述
  • 环境
    • router
    • routes
  • 问题原因分析
  • 解决方案

问题简述

做oj系统过程中,前端vue工程中遇到报错
ReferenceError: can’t access lexical declaration ‘routes’ before initialization

环境

  • vite
  • vue3
  • router中使用外部引入的routes数组

router

import {createRouter, createWebHistory} from 'vue-router'
import { routes } from '@/router/routes'
import beforeGuard from '@/router/guard.ts'const router = createRouter({history: createWebHistory(),routes
})/*** 路由前置守卫*/
router.beforeEach(beforeGuard)export default router

routes

import HomeView from '@/views/baseView/HomeView.vue'
import type { RouteRecordRaw } from 'vue-router'
import { PermissionsEnum } from '@/enum/PermissionsEnum.ts'
import QuestionManager from '@/views/question/QuestionManager.vue'
import DoAnswer from '@/views/question/DoAnswer.vue'
import AnswerQuestion from '@/views/question/AnswerQuestion.vue'
import QuestionSubmitView from '@/views/question-submit/question-submit-view.vue'
import QuestionSubmitManager from '@/views/question-submit/question-submit-manager.vue'export const routes: RouteRecordRaw[] = [{path: '/',name: '首页',component: HomeView,meta: {permissions: [PermissionsEnum.UNLOGIN, PermissionsEnum.LOGIN],title: '首页',},},{path: '/doAnswer',name: '开始做题',component: DoAnswer,meta: {permissions: [PermissionsEnum.UNLOGIN, PermissionsEnum.LOGIN],title: '开始做题',},},{path: '/questionSubmitView',name: '做题记录',component: QuestionSubmitView,meta: {permissions: [PermissionsEnum.UNLOGIN, PermissionsEnum.LOGIN],title: '做题记录',},},{path: '/doAnswer/:questionId',name: '答题页面',component: AnswerQuestion,meta: {permissions: [],title: '答题中',hiddenInMenu: true,},{path: '/systemManager',name: '系统管理',component: QuestionSubmitManager,meta: {permissions: [PermissionsEnum.UNLOGIN, PermissionsEnum.LOGIN],title: '系统管理',},},{path: '/login',name: '登录',component: () => import('../views/login/LoginIndex.vue'),meta: {permissions: [],hiddenInMenu: true,},},{path: '/403',name: '403',component: () => import('../views/exception/403/index.vue'),meta: {permissions: [],hiddenInMenu: true,},},{path: '/404',name: '404',component: () => import('../views/exception/404/index.vue'),meta: {permissions: [],hiddenInMenu: true,},},{path: '/500',name: '500',component: () => import('../views/exception/500/index.vue'),meta: {permissions: [],hiddenInMenu: true,},},{path: '/:pathMatch(.*)*',redirect: '/404',meta: {hiddenInMenu: true,}},
]

问题原因分析

因为在DoAnswer中使用router跳转页面时使用 import router from ‘@/router’,导致产生循环依赖问题。即当router需要初始化时需要导入DoAnswer组件,但是DoAnswer组件中要使用路由,又需要从@/router中导入router实例,因此报错。

解决方案

在DoAnswer组件中使用 const user = useRouter() 方法获取路由实例对象

<script setup lang="ts">
import { onMounted, type Ref, ref } from 'vue'
import { useRouter } from 'vue-router'// 搜索表单Ref对象
const searchFormRef = ref()// 路由
const router = useRouter();
</script>
<template>
<button @click="router.push('/home')">跳转</button>
</template>
<style></style>
http://www.dtcms.com/wzjs/509996.html

相关文章:

  • 鲜花网站建设店seo流量工具
  • 网站域名管理中心互联网运营自学课程
  • 西安网站建设g浙江seo公司
  • 可以中英切换的网站怎么做seo免费推广软件
  • 哪里可以学习做网站服务营销
  • 旅游资讯网站开发论文怎么在腾讯地图上添加自己的店铺
  • 莱芜网站建设服务网站链接提交
  • 防城港网站建设设计公司
  • 合肥做网站的价格全网推广网站
  • 响应式网站手机模板建站代理
  • 网站建站网站设计公司推广网站模板
  • 建设网站杭州电商平台排行榜前十名
  • 注册有限公司需要多少钱深圳知名seo公司
  • 网站制作客户寻找如何去做网络推广
  • 网站后台管理系统代码自制网页
  • 免费建网站代码最新新闻摘抄
  • 网站建立公司任何小说都能搜到的软件
  • 长沙公司建成都seo的方法
  • 网站后台程序和数据库开发网络营销方式都有哪些
  • 做a免费网站有哪些关键词seo是什么
  • 婚庆公司网站怎么做推广app拉人头赚钱
  • 南昌网站开发培训学校百度最新秒收录方法2022
  • 建筑人才网有哪些泉州seo按天计费
  • 九江专业网站建设定制百度文库首页官网
  • 济南网站优化谷歌外贸
  • 未满18岁能申请网站备案吗搜索引擎排名竞价
  • 汕头市网站建设公司疫情最新动态
  • 商城网站建设fwshop视频号的网站链接
  • mac中文wordpress白帽优化关键词排名seo
  • 外贸网站建设内容包括市场营销实际案例