You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用vue-router时页面无法切换、组件不显示问题求助

Vue Router路由失效问题修复方案

你遇到的问题主要有三个关键点,逐一修复就能解决:

1. 路由配置里的组件变量大小写错误

在router/index.js中,你导入的组件变量是siteview,但路由配置里误写成了siteView(JavaScript是大小写敏感的),这会导致组件无法被正确识别:

// 原导入代码
import siteview from "../components/site.vue";

// 路由配置里的错误写法,需修正为siteview
{
  path: '/site',
  name: 'site',
  component: siteView
},

2. 缺少路由组件挂载容器<router-view>

你的App.vue模板里没有添加<router-view>标签——这是Vue Router专门用来渲染匹配到的路由组件的容器,没有它,组件根本没有展示的位置。在导航栏代码下方新增该标签:

<template>
  <!-- 原导航栏代码 -->
  <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <!-- ... 原导航栏内容 ... -->
  </nav>
  <!-- 新增路由组件挂载点 -->
  <router-view></router-view>
</template>

3. 导航链接使用了错误的标签

普通<a>标签加to属性无法触发Vue Router的路由跳转,必须使用<router-link>组件来实现单页应用的无刷新导航,替换所有导航链接:

<!-- 替换品牌导航链接 -->
<router-link class="navbar-brand" to="/home">Navbar</router-link>

<!-- 替换导航项里的链接 -->
<li class="nav-item">
  <router-link class="nav-link active" to="/home">Home</router-link>
</li>
<li class="nav-item">
  <router-link class="nav-link" to="/site">Site 1</router-link>
</li>

最后确认main.js中已正确注册路由:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

内容的提问来源于stack exchange,提问作者user16365685

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:40:56