news 2026/5/30 22:55:12

第三篇 Vue路由

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第三篇 Vue路由

Vue路由的基本概念

Vue路由是Vue.js官方提供的路由管理器(Vue Router),用于构建单页面应用(SPA)。它通过映射URL到组件实现页面切换,无需刷新页面。核心功能包括动态路由匹配、嵌套路由、导航守卫等。

安装与基础配置

通过npm或yarn安装Vue Router:

npm install vue-router

在项目中引入并配置路由:

import { createRouter, createWebHistory } from 'vue-router'; import Home from './views/Home.vue'; import About from './views/About.vue'; const router = createRouter({ history: createWebHistory(), routes: [ { path: '/', component: Home }, { path: '/about', component: About } ] });

在Vue实例中挂载路由:

import { createApp } from 'vue'; import App from './App.vue'; const app = createApp(App); app.use(router); app.mount('#app');

路由视图与导航

在模板中使用<router-view>作为组件渲染出口,<router-link>实现导航:

<router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-view></router-view>

<router-link>默认渲染为<a>标签,可通过tag属性自定义。

动态路由匹配

通过冒号:定义动态路径参数,例如匹配用户ID:

{ path: '/user/:id', component: User }

在组件中通过$route.params.id访问参数。若需响应参数变化,需监听$route对象或使用组件内守卫。

嵌套路由

通过children属性实现嵌套路由:

{ path: '/parent', component: Parent, children: [ { path: 'child', component: Child } ] }

父组件需包含<router-view>以渲染子路由。

导航守卫

路由守卫用于控制导航流程,常见类型:

  • 全局守卫router.beforeEachrouter.afterEach
  • 路由独享守卫:在路由配置中定义beforeEnter
  • 组件内守卫beforeRouteEnterbeforeRouteUpdate

示例:验证用户权限

router.beforeEach((to, from, next) => { if (to.meta.requiresAuth && !isAuthenticated) next('/login'); else next(); });

路由懒加载

通过动态导入减少初始加载体积:

const User = () => import('./views/User.vue');

结合Webpack的代码分割功能,提升性能。

路由模式

  • Hash模式:URL带#,兼容性好(默认模式)。
  • History模式:需服务器配置支持,URL更简洁。
    配置方式:
createRouter({ history: createWebHashHistory(), // Hash模式 // history: createWebHistory(), // History模式 });

常见问题与优化

  • 404页面处理:添加通配符路由捕获未匹配路径。
  • 滚动行为:通过scrollBehavior自定义页面滚动位置。
  • 路由元信息:使用meta字段存储路由额外数据(如页面标题)。

以上内容涵盖了Vue Router的核心用法,实际开发中可根据需求结合官方文档进一步扩展功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 16:15:08

零基础学习LED驱动电路:超详细版设计指南

零基础也能搞懂LED驱动电路&#xff1a;从原理到实战的完整设计指南你有没有想过&#xff0c;为什么一个小小的LED灯珠不能像白炽灯一样直接插上电源就亮&#xff1f;明明电压够了&#xff0c;灯却要么烧掉&#xff0c;要么忽明忽暗&#xff1f;这背后的关键&#xff0c;就是LE…

作者头像 李华
网站建设 2026/5/30 0:41:48

3个步骤掌握ExifToolGui:可视化元数据管理的终极指南

3个步骤掌握ExifToolGui&#xff1a;可视化元数据管理的终极指南 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 当我们面对成百上千张照片时&#xff0c;手动管理元数据就像大海捞针一样困难。别担心&…

作者头像 李华
网站建设 2026/5/28 10:22:09

Zotero PDF Translate:一键解锁豆包大模型的学术翻译新体验

Zotero PDF Translate&#xff1a;一键解锁豆包大模型的学术翻译新体验 【免费下载链接】zotero-pdf-translate 支持将PDF、EPub、网页内容、元数据、注释和笔记翻译为目标语言&#xff0c;并且兼容20多种翻译服务。 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-pdf…

作者头像 李华
网站建设 2026/5/30 10:40:28

Ai2Psd脚本:实现矢量图形图层保留的终极转换方案

Ai2Psd脚本&#xff1a;实现矢量图形图层保留的终极转换方案 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为Illustrator到Photoshop的…

作者头像 李华
网站建设 2026/5/28 20:32:02

NCM文件格式转换终极指南:ncmdumpGUI完全使用手册

NCM文件格式转换终极指南&#xff1a;ncmdumpGUI完全使用手册 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 还在为网易云音乐下载的NCM格式文件无法在其他播…

作者头像 李华
网站建设 2026/5/29 0:42:12

Beyond Compare 5专业版密钥生成全攻略:从技术原理到实战应用

Beyond Compare 5专业版密钥生成全攻略&#xff1a;从技术原理到实战应用 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare的授权问题困扰吗&#xff1f;本文将深入解析Beyo…

作者头像 李华