Vue3中如何实现单页应用(SPA)导航操作

Vue 3 路由管理实战:构建多页面博客导航 - 掌握 Vue Router 实现 SPA 页面跳转 观察浏览器地址栏的 URL 变化,当您点击不同的导航链接时,URL 也会随之改变,这表明 Vue Router 已经成功实现了基于 URL 的路由管理。我们将构建一个简单的用户登录/注册功能,学习 Vuex 的状态管理模式,理解 store, mutations, actions, getters 的概念,构建更完善的 Vue 3 应用。接下来,我们将一步步使用 Vue Router 为我们的技术博客添加多页面导航功能,深入理解 Vue Router 的配置和使用。 阅读详情

  在 Vue 3 中实现单页应用(SPA)的导航操作,通常使用 Vue Router,它是官方提供的路由管理库,支持客户端路由,实现无页面刷新导航。

步骤:实现 Vue 3 SPA 导航

1. 安装 Vue Router

  如果是 Vue CLI 或 Vite 项目,先安装 Vue Router:

npm install vue-router

2. 创建路由配置
  在 src/router/index.js(或 .ts)中定义路由:

import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
import AboutView from '../views/AboutView.vue'

const routes = [
  { path: '/', component: HomeView },
  { path: '/about', component: AboutView }
]

const router = createRouter({
  history: createWebHistory(), // 使用 HTML5 history 模式
  routes
})

export default router

3. 在 Vue 应用中注册路由
  在 src/main.js(或 .ts)中导入并使用 Vue Router:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 导入路由配置

const app = createApp(App)
app.use(router) // 挂载路由
app.mount('#app')

4. 设置路由视图
  在 App.vue 中添加 ,用于动态渲染当前匹配的组件:

<template>
  <nav>
    <router-link to="/">首页</router-link> |
    <router-link to="/about">关于</router-link>
  </nav>
  <router-view></router-view>
</template>

5. 创建页面组件
  例如,在 src/views/HomeView.vue:

<template>
  <div>
    <h1>首页</h1>
    <p>欢迎来到 Vue 3 SPA</p>
  </div>
</template>

在 src/views/AboutView.vue:

<template>
  <div>
    <h1>关于我们</h1>
    <p>这是关于页面</p>
  </div>
</template>

6. 编程式导航
  除了 之外,也可以使用 router.push 进行页面跳转:

<script setup>
import { useRouter } from 'vue-router'

const router = useRouter()

const goToAbout = () => {
  router.push('/about') // 跳转到关于页
}
</script>
<template>
  <button @click="goToAbout">跳转到关于页面</button>
</template>

补充:路由模式

  • createWebHistory():使用 HTML5 history 模式,URL 结构美观(如 /about)。
  • createWebHashHistory():使用 hash 模式(如 /#/about),适用于不支持服务器配置的情况。

这样,Vue 3 的单页应用(SPA)导航就实现了,用户可以在不刷新页面的情况下流畅切换不同视图。🚀

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(二、编写导航页) 从零开始搭建自己的Vuejs2.0+ElementUI单页面网站之使用vue-router编写导航页面 阅读详情

相关推荐

单页应用导航的构建与优化

HTML5引入的History API为前端开发者提供了丰富的历史记录管理工具。在传统的Web应用中,页面的跳转往往会导致浏览器加载全新的页面,这种行为不仅增加了服务器的负载,还降低了用户体验。通过History API,开发者可以实现客户端路由,即在不刷新页面的情况下改变URL,让用户感受到如同页面跳转的体验,同时能够利用浏览器的历史记录功能进行前进和后退操作。

weixin_30653091的博客 747

Vue3 + Vue Router实施单页应用(SPA)实例

单页应用是指网页的整个应用只加载一个 HTML 页面,通过 JavaScript 动态更新页面内容。SPA 让用户在不同页面之间切换时没有明显的重新加载体验,从而提供流畅的用户体验。通过本次实践,我们学习了如何使用 Vue3 和 Vue Router 创建一个简单的单页应用(SPA)。利用 Vue 3 的组合式 API 和 setup 语法糖,使得组件的结构更加清晰,易于维护。单页应用的魅力在于它能够给用户带来流畅的交互体验,并且我们的代码结构也更加 modular 和灵活。

有我更精彩的博客 1720

【保姆级教程/代码】使用PRIDE PPP-AR软件解算ZTD、反演GNSS PWV,并评估精度

在本算例中,我下载了BJFS站2024年的IGS ZTD产品,用于评估PRIDE PPP-AR软件解算出ZTD结果的精度。

weixin_43910227的博客 2361

深入浅出:如何构建高性能的 Vue3 单页应用(SPA)

在 SPA 架构中,整个应用只有一个 HTML 页面,所有的交互和内容更新都通过 JavaScript 来实现,避免了传统多页面应用的频繁刷新。在开发过程中,通过合理的代码分割、懒加载、图片优化等策略,能够显著提升用户体验和应用性能。在本节中,我们将使用 Vue3 构建一个简单的单页应用,并应用前述的性能优化策略,如代码分割、懒加载、图片优化等。通过代码分割,我们可以将不同页面和模块的代码拆分成小块,按需加载,减少首屏加载的时间。,这可以让我们的应用在服务器端预渲染页面,减少首屏加载的时间。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1176

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 906

Arduino粉尘传感器DIY:打造智能PM2.5监测仪

本文详细介绍了如何利用Arduino和粉尘传感器DIY一个智能PM2.5监测仪。从硬件选购、接线步骤到代码编写,提供了完整的制作指南,帮助读者以低成本打造透明可靠的空气质量监测设备,并探讨了数据解读与智能升级方案。

i3j4k5的博客 390

使用vue-cli搭建SPA项目

使用vue-cli搭建SPA项目

weixin_67677668的博客 465

配置VScode编译、调试STM32(一)手动配置makefile和debug

做嵌入式的朋友们都应该有过想要有个功能强大的IDE或者编辑器,Keil MDK5、IAR EWARM是用的比较普遍的平台了,但是两者在编辑器方面都比较弱势,当然可以设置 或者使用外部编辑器,像Sourceinsight、notePad++这样,但毕竟需要切换回来进行Build、Debug,非常麻烦。 VScode从发布至今口碑一直很好,而且里面有非常多的插件,比如彩虹括号、Code Runner、...

hanhe0551的博客 4287

Vue3 知识大总结(四)Vue3 全家桶 router 和 axios

pinia是一个用于对状态进行管理的库,跨组件跨页面对状态进行共享与vuex和redux在作用上并无区别核心区别pinia没有mutations选项,因为mutations的出现解决的问题是让devtools进行状态追踪我们可以在任意组件中拿到store然后直接修改state中的任意值不再需要modules这样的嵌套结构,取而代之的是可以创建一个个store可以在一个组件中拿任意数量的store除此之外你还可以在某个store中拿另外的store,然后使用store中的任何东西。

weixin_42771853的博客 3085

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3735

ArcGIS基础:CAD数据转换为GIS数据(符号化显示、数据转换、线转面、空间连接)

1、符号化显示: CAD数据加载进来有很多列表,包含了点【point】、线【polyline】、面【polygon】、标注数据【Annotation】等数据,本次实验我们需要用到的是面数据,也就是.dwgPolygong格式的数据。如下图所示: 把数据加载进来,然后在2处打开属性表,查看CAD数据的属性表,打开后可以发现【layer】图层表示就是地块的用地性质,它就是符号化显示的依据。 我们在数据上右键【属性】,打开图层属性,找到【符号系统】,选择类别中的【唯一值】,然后在【值字段】下拉选择【layer】,

yuanYW7556的博客 2万+

vue-page-stack核心功能全解析:从安装到高级路由管理的完整指南

vue-page-stack是一款专为Vue3.0单页应用设计的导航管理器,它能像原生应用一样管理页面栈而不是简单销毁页面,为开发者提供更流畅的用户体验和更高效的路由管理方案。 ## 🌟 为什么选择vue-page-stack? 在传统的Vue单页应用中,页面切换通常会导致组件销毁和重建,这不仅影响性能,还会丢失用户的操作状态。vue-page-stack通过创新的页面栈管理机制,完美解决了

gitblog_00607的博客 983

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1498

Vue 3 中使用 Vue Router 实现 SPA(单页应用)

SPA(单页应用)是一种现代Web开发模式,通过动态重写当前页面实现交互,无需整页刷新。其核心特点包括客户端路由、前后端分离和组件化开发。相比传统多页应用,SPA具有更流畅的用户体验和更好的性能优化潜力,但也面临SEO和首屏加载的挑战。主流框架如React、Vue和Angular都支持SPA开发,配合路由懒加载、代码分割等技术可进一步提升性能。Vue3中通过VueRouter实现SPA,提供useRouter、useRoute等组合式API,支持编程导航、路由守卫等高级功能。

木木的学习笔记 1129

ICC2: pin shape不在track上引起的drc如何解决?

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 430

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Vue.js实战:构建现代单页应用程序(SPA)的实用指南

单页应用程序是一种Web应用程序或网站,通过动态加载所有相关的代码,使用户在浏览过程中感受不到页面的重新加载。通常,SPA使用Ajax、WebSocket等技术在后台与服务器进行数据交互,实现异步加载内容,提供更流畅的用户体验。Vue.js是一套用于构建用户界面的渐进式JavaScript框架。它专注于视图层,易于集成到其他库或现有项目中。Vue.js的核心库只关注视图层,非常容易学习,同时它也完全可驱动整个单页应用。Vue.js的核心是Vue实例,是Vue应用的入口。

明飞的博客 5296

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用 Vue 3 构建模块化单页应用(SPA)

单页应用(SPA)是一种用户体验极佳的 Web 应用架构,它允许页面在无需重新加载整个页面的情况下进行动态更新。Vue 3 提供了强大的功能来帮助开发者构建高效、灵活、模块化的 SPA。通过 Vue Router 4 实现前端路由管理、动态路由与嵌套路由、路由守卫与权限控制等功能,结合模块懒加载与按需打包策略,可以优化应用的性能。而在考虑 SEO 和 SSR(服务器端渲染)时,Vue 3 也提供了一些处理方案来改善 SEO 性能。

2201_75863687的博客 1255

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Vue3实施单页应用(SPA)实例

Vue3 + Vue Router 实施单页应用(SPA)实例随着单页应用(SPA)在现代 web 开发中的流行,使用 Vue3 和 Vue Router 来构建一个简单而高效的 SPA 应用变得越来越受到开发者的青睐。本篇博客将为大家详细介绍如何使用 Vue3 和 Vue Router 实现一个基本的单页应用,并在这个过...

cnzzs的博客 1232

深入解析:构建高效单页应用(SPA)的最佳实践与示例

掌握了一种工具,你就为自己的创造力开启了一扇新的大门。

chaosweet的博客 2327

Vue 单页应用(SPA)与多页应用(MPA)设计

单页应用(Single Page Application, SPA)是一种通过加载单一 HTML 页面,动态更新页面内容来提供流畅用户体验的应用架构。在 SPA 中,页面的切换不需要重新加载整个页面,而是通过 JavaScript 动态渲染页面内容。多页应用(Multi-Page Application, MPA)是指传统的 Web 应用架构,每个页面都有独立的 HTML 文件,每次用户访问不同的页面时,浏览器都会重新加载整个页面。MPA 通常适用于大型网站或复杂的业务系统。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1642

Vue.js 单页应用(SPA)开发教程:从零开始构建你的第一个项目

单页应用是一种只有一个 HTML 页面,通过 JavaScript 动态加载内容的应用。页面切换时无需重新加载整个页面。提升用户体验,页面响应速度更快。依赖客户端渲染,通常与 API 配合使用。GmailTrello微信网页版创建一个 Vue.js 单页应用。配置路由和动态页面。使用 Pinia 管理全局状态。Vue.js 提供了灵活的工具链和生态系统,使你可以快速构建现代单页应用。

B5201234的博客 2124

vue-page-stack:Vue3单页应用导航新革命,让SPA拥有原生应用般流畅体验

**vue-page-stack** 是一个专为 Vue3 单页应用设计的导航管理器,它彻底改变了传统 SPA 的路由体验。通过创新的页面栈管理机制,vue-page-stack 让你的单页应用拥有原生应用般的流畅导航体验,告别页面重渲染带来的性能损耗和用户体验断层。🎯 ## 📱 为什么需要 vue-page-stack? 在传统的 Vue 单页应用中,页面切换时往往伴随着组件的销毁和重建

gitblog_00688的博客 847

Flask-Vue-SPA路由配置详解:实现无缝的单页应用导航

Flask-Vue-SPA是一个结合了Flask后端和Vue.js前端的现代化单页应用架构。通过精心设计的路由配置,开发者可以实现流畅的用户导航体验。本文将深入解析Flask-Vue-SPA项目的路由配置机制,帮助您掌握如何构建高效的单页应用导航系统。 ## 🚀 为什么Flask-Vue-SPA的路由配置如此重要? 在单页应用(SPA)开发中,路由配置是连接前后端的桥梁。Flask-Vue-

gitblog_01177的博客 302

三十分钟学会使用vue-router搭建单页应用(SPA)

一、什么是单页应用 单页web应用(single page web application,SPA),就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说...

越努力,越幸运! 2490

解决Vue3 SPA导航痛点:vue-page-stack让页面切换如丝般顺滑

vue-page-stack是一款专为Vue3单页应用设计的导航管理器,它能像原生应用一样管理页面栈而不是简单销毁页面,有效解决了传统SPA应用中页面状态丢失、切换卡顿等常见问题。 ## 为什么需要vue-page-stack? 在传统的Vue单页应用开发中,使用KeepAlive组件虽然能缓存页面,但存在无法按导航顺序管理页面、相同路由复用缓存导致状态混乱等问题。而vue-page-stac

gitblog_01107的博客 456
上一篇: 微信小程序实现左侧商品类型选择,右边显示商品列表的效果?
下一篇: Vue3中Vue.prototype.$project = base.getProjectName()的语法如何使用?
nihui123
博客等级 码龄11年 7586粉丝 437原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值