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

Vue Router页面跳转指南:告别a标签,拥抱组件化无刷新跳转

前言:为什么要用Vue Router?

传统网页开发使用<a href>实现页面跳转,但会导致整个页面刷新,用户体验差且性能开销大。Vue Router提供的<RouterLink>组件可实现组件级别的无刷新跳转,完美契合单页应用的需求。

基础使用:两步实现优雅跳转

配置路由规则
文件位置:src/router/index.js

import About from '../views/About.vue'export default [{ path: '/company',     // 访问路径name: 'company',      // 路由名称(可选但推荐)component: About      // 映射的组件}
]

使用RouterLink跳转
在Vue组件的template中:

<RouterLink to="/company">企业介绍</RouterLink>
效果对比:传统 vs Vue Router
特性传统 <a href>Vue Router <RouterLink>
页面刷新整页刷新仅组件切换,无刷新
性能需重新加载所有资源只加载必要组件
用户体验有白屏闪烁平滑过渡
URL变化通过href跳转通过前端路由控制
核心优势解析

无刷新加载组件
点击<RouterLink>时:

  1. Vue Router拦截点击事件
  2. 根据路由配置找到对应组件
  3. 动态替换<router-view>区域内容
  4. URL同步更新(无HTTP请求)

自动激活状态
当前路由匹配时会自动添加class

<RouterLink to="/company" class="router-link-active router-link-exact-active"
>企业介绍</RouterLink>

支持多种路由形式

<!-- 基础路径 -->
<RouterLink to="/company">企业介绍</RouterLink><!-- 命名路由 -->
<RouterLink :to="{ name: 'company' }">企业介绍</RouterLink><!-- 带参数 -->
<RouterLink to="/company/123">企业详情</RouterLink>
进阶技巧

自定义激活类名

// router/index.js
const router = createRouter({linkActiveClass: 'active-link',      // 部分匹配linkExactActiveClass: 'exact-active' // 精确匹配
})

编程式导航
在方法中跳转:

methods: {goToCompany() {this.$router.push('/company')// 或使用命名路由this.$router.push({ name: 'company' })}
}

路由懒加载(优化性能)

{path: '/company',component: () => import('../views/About.vue') // 按需加载
}
实战示例

完整路由配置
文件:src/router/index.js

import { createRouter, createWebHistory } from 'vue-router'const routes = [{path: '/company',name: 'company',component: () => import('../views/About.vue'),meta: { title: '企业介绍' } // 附加元信息}
]const router = createRouter({history: createWebHistory(),routes
})export default router

导航菜单实现
文件:src/App.vue

<template><nav><RouterLink to="/company"active-class="active">企业介绍</RouterLink></nav><router-view></router-view>
</template><style>
.active {color: #42b983;font-weight: bold;
}
</style>
总结要点
  1. 配置路由:在router/index.js中建立路径与组件的映射
  2. 使用<RouterLink>:替代传统的<a>标签实现无刷新跳转
  3. 显示区域:在布局中添加<router-view>作为内容容器
  4. 优势:更高效、更灵活🎉
http://www.dtcms.com/a/540866.html

相关文章:

  • Kotlin Multiplatform 跨平台方案解析以及热门框架对比
  • Kotlin 协程最佳实践:用 CoroutineScope + SupervisorJob 替代 Timer,实现优雅周期任务调度
  • kotlin基于MVVM架构构建项目
  • 自适应网站设计稿上海建设网站是国家级吗
  • Vue 3 的<script setup> 和 Vue 2 的 Options API的关系
  • Flink 2.1.0内存管理详
  • 建游戏网站网站虚拟主机过期
  • 安卓进阶——Material Design库
  • 网站域名备案需要资料欧派装修公司
  • 【音视频】 RTP 与 RTMP 协议异同对比
  • 温州网站建设外包wordpress自定义字段使用
  • FPGA基础知识(九):时序约束常见问题与解决方案深度解析
  • 【中间件】如何设计主分片
  • 佛山网站建设兼职个人网页制作成品简单
  • 鹤壁北京网站建设彩票网站维护会跑路吗
  • AI获客哪家公司靠谱
  • Facebook多账号管理实战指南:安全合规与效率提升策略
  • 基于 STM32 与机器学习的电机 / 风扇异常声音检测系统设计与实现
  • 【HTML教学】成为前端大师的入门教学
  • 天津建立网站营销设计帮人做网站犯法
  • 数据链路层:网络通信的基石与工程实践
  • 从加载到推理:Llama-2-7b 昇腾 NPU 全流程性能基准
  • 河南商城网站建设wordpress驾校模版
  • Linux可执行程序提示GLIBCXX not found邪修办法
  • Oracle 数据库OGG 工具简介
  • 网站面包屑导航设计即位置导航网页设计的流程是什么
  • 【Block总结】MRFA,大卷积感受野,提高小目标检测的利器|即插即用|ICCV 2025
  • 2025年机电一体化与轨道交通国际学术会议(MRT 2025)
  • 多传感器融合的办公室智能门禁系统(论文+源码)
  • 【Java +AI |基础篇day3 流程控制】