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

Vue Router切换URL时组件不渲染问题求助

问题描述

在Vite + Vue Router项目中,点击router-link切换URL后,地址栏URL已改变,但页面内容始终保持不变。

错误原因及修复方案

1. 根组件缺少路由出口<router-view>

Vue Router需要通过<router-view>来渲染当前匹配的路由组件,你的App.vue直接固定渲染Login组件,导致路由切换时没有容器展示新组件。

修正后的App.vue:

<template>
  <!-- 路由匹配到的组件会渲染到这里 -->
  <router-view />
</template>

2. 路由配置错误:将根组件作为路由页面

你的router.js里把App.vue设为根路径的组件,但App是整个应用的根容器,不应作为路由页面组件。需将Login组件设为根路径对应的路由组件。

修正后的router.js:

import { createRouter, createWebHistory } from 'vue-router';
import Login from './Login.vue';
import SignUp from './Pages/SignUp.vue'

const routes = [
  { path: '/', name: 'Login', component: Login },
  { path: '/signup', component: SignUp }
];

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;

3. 验证路由跳转逻辑

你的Login.vue中router-link的写法是正常的,完成以上两点修正后,点击"Sign Up"即可正常跳转到SignUp页面。

总结
  • 根组件必须添加<router-view>作为路由组件的渲染容器
  • 路由配置需使用页面级组件(如Login、SignUp),而非根组件App

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:32:22