Vue3 + Vue Router 4 完整示例(可直接运行)
作者:互联网
2026-04-04
我给你最完整、最标准、可直接复制运行的 Vue3 路由全套示例,包含:
路由配置
页面跳转
路由传参
动态路由
嵌套路由(子路由)
404 页面
路由守卫(登录拦截)
组合式 API 完整用法
一、项目结构(照着建)
src/
├── router/
│ └── index.js # 路由配置
├── views/ # 页面组件
│ ├── Home.vue
│ ├── About.vue
│ ├── User.vue
│ ├── Login.vue
│ ├── NotFound.vue
│ └── Dashboard/ # 嵌套路由文件夹
│ ├── Dashboard.vue
│ ├── Profile.vue
│ └── Order.vue
├── App.vue
└── main.js
二、安装路由
npm install vue-router@4
三、完整代码(直接复制)
1. 路由配置:src/router/index.js
import { createRouter, createWebHistory } from 'vue-router'
// 导入页面
import Home from '../views/Home.vue'
import Login from '../views/Login.vue'
import NotFound from '../views/NotFound.vue'
// 路由规则
const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: { requiresAuth: true } // 需要登录才能访问
},
{
path: '/about',
name: 'About',
component: () => import('../views/About.vue') // 懒加载
},
{
path: '/user/:id', // 动态路由
name: 'User',
component: () => import('../views/User.vue')
},
{
path: '/login',
component: Login
},
// 嵌套路由示例
{
path: '/dashboard',
component: () => import('../views/Dashboard/Dashboard.vue'),
meta: { requiresAuth: true },
children: [
{ path: 'profile', component: () => import('../views/Dashboard/Profile.vue') },
{ path: 'order', component: () => import('../views/Dashboard/Order.vue') }
]
},
// 404 页面
{
path: '/:pathMatch(.*)*',
component: NotFound
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
// 路由守卫(登录验证)
router.beforeEach((to, from, next) => {
const isLogin = localStorage.getItem('token') // 模拟登录状态
if (to.meta.requiresAuth && !isLogin) {
next('/login') // 未登录,跳转到登录页
} else {
next() // 放行
}
})
export default router
2. 挂载路由:src/main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 导入路由
createApp(App).use(router).mount('#app')
3. 根组件:App.vue
四、页面组件代码
Home.vue(首页)
首页(需要登录)
ℹ️ About.vue(关于页)
关于页
当前路径:{{ route.path }}
User.vue(动态路由)
用户页
用户 ID:{{ route.params.id }}
Login.vue(登录页)
登录页
Dashboard.vue(嵌套父路由)
控制台
个人资料 |
订单
Profile.vue + Order.vue(子页面)
个人资料
订单页面
NotFound.vue
404 页面不存在
五、运行项目
npm run dev
六、这个示例包含的所有功能
- 基础路由:
//about - 动态路由:
/user/1001 - 嵌套路由:
/dashboard/profile - 路由懒加载:优化性能
- 路由守卫:登录权限控制
- 404 页面
- 组合式 API:
useRouteruseRoute - 声明式导航 + 编程式导航
总结
这是企业级标准 Vue3 路由完整示例,直接复制即可运行,包含你开发项目会用到的 99% 路由功能。
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
sfsDb 时序数据处理指南
04/13
NineData 成功通过国家高新技术企业认定!
04/13
腾讯云轻量应用服务器管理:自动化轻量服务器 - Openclaw Skills
04/13
系统资源监控器:实时服务器健康追踪 - Openclaw Skills
04/13
前端老兵AI学习过程
04/13
工作笔记-CodeBuddy应用探索
04/13
OpenCode 完全指南:从 0 到 100K Star 的开源 AI 编码 Agent
04/13
Day11-龙虾哥打工日记:OpenClaw救援机器人 - 主系统挂了谁来救场?
04/13
Claude Code 创始人 Boris 揭秘:团队 10 倍效率技巧
04/13
拒绝“手搓”工具!带你硬核手写 MCP Server,解锁 Agent 的无限潜能
04/13
AI精选
