Vue2 学习笔记系列:从 Vue Router 路由到 Vuex 状态管理

发布时间:2026/10/8 10:06:14

Vue2 学习笔记系列:从 Vue Router 路由到 Vuex 状态管理 Vue2 学习笔记系列从 Vue Router 路由到 Vuex 状态管理Vue2 项目里绕不开的两块**路由Vue Router**管页面跳转**状态管理Vuex**管跨组件数据共享。本文把最常用、最容易混的知识点串一遍配可复制的代码。一、Vue Router 路由1.1 基本配置importVuefromvueimportVueRouterfromvue-routerimportHomefrom/views/Home.vueimportAboutfrom/views/About.vueVue.use(VueRouter)constroutes[{path:/,name:Home,component:Home},{path:/about,name:About,component:About}]constrouternewVueRouter({mode:history,// 去掉 URL 里的 #routes})exportdefaultrouter1.2 嵌套路由constroutes[{path:/user,component:UserLayout,children:[{path:,component:UserProfile},// /user{path:posts,component:UserPosts}// /user/posts]}]1.3 路由守卫权限控制核心router.beforeEach((to,from,next){constloggedInstore.getters.isLoggedInif(to.meta.requiresAuth!loggedIn){next(/login)// 未登录跳登录页}else{next()// 放行}})二、Vuex 状态管理当多个组件需要共享同一份数据如用户信息、购物车props/emit 层层传递会很痛苦这时上 Vuex。2.1 四大核心概念概念作用是否可直接改state唯一数据源类似 data否getters派生状态类似 computed否mutations同步修改 state 的唯一途径是必须actions处理异步再提交 mutation是2.2 一个完整 storeimportVuefromvueimportVuexfromvuexVue.use(Vuex)exportdefaultnewVuex.Store({state:{count:0,user:null},getters:{doubleCount:statestate.count*2,isLoggedIn:state!!state.user},mutations:{INCREMENT(state,n1){state.countn},SET_USER(state,user){state.useruser}},actions:{// 异步场景如接口请求放在 actionasynclogin({commit},payload){constuserawaitapi.login(payload)commit(SET_USER,user)}}})2.3 组件里怎么用// 读状态this.$store.state.countthis.$store.getters.doubleCount// 派发 action异步this.$store.dispatch(login,{username,password})// 提交 mutation同步this.$store.commit(INCREMENT,2)配合mapState/mapGetters/mapActions语法糖组件代码更简洁import{mapState,mapActions}fromvuexexportdefault{computed:{...mapState([count]),...mapGetters([doubleCount])},methods:{...mapActions([login])}}三、路由 Vuex 配合的典型场景登录流程就是两者协作的经典案例路由守卫拦截需鉴权页面 → 未登录跳/login登录页提交 →dispatch(login)调接口action拿到用户信息 →commit(SET_USER)写入 state守卫再次判断getters.isLoggedIn为 true → 放行。四、小结Vue Router负责「去哪」核心是路由表配置、嵌套路由和beforeEach守卫Vuex负责「共享什么」严格遵循action(异步) → mutation(同步改) → state的单向数据流两者结合就能撑起一个带权限、带全局状态的真实前端应用。参考资料Vue2 官方文档Vue Router / Vuex个人学习笔记整理
延伸阅读

更多相关文章

2026/10/1 14:19:11

DepotDownloader 实战指南:6个技巧高效下载 Steam Depot 资源

DepotDownloader 实战指南:6个技巧高效下载 Steam Depot 资源 【免费下载链接】DepotDownloader Steam depot downloader utilizing the SteamKit2 library. 项目地址: https://gitcode.com/gh_mirrors/de/DepotDownloader 你是否也曾遇到过这样的尴尬&#…

2026/10/4 3:43:07

svelte-testing-library搭配Jest:非Vitest环境完整配置教程

svelte-testing-library搭配Jest:非Vitest环境完整配置教程 【免费下载链接】svelte-testing-library :chipmunk: Simple and complete Svelte DOM testing utilities that encourage good testing practices 项目地址: https://gitcode.com/gh_mirrors/sv/svelte…

2026/10/8 10:04:10

Flutter开发入门:Dart基础语法、环境配置与状态管理实战

如果你打算玩Flutter,第一道绕不过去的门槛就是Dart。市面上讲Flutter的中文资料虽然多,但很多教程默认你已经会Dart,上来就直接甩一堆组件代码,新手跟着敲半天也不知道自己在写什么。这篇我就以“艺术探索”的心态,带…

2026/10/8 10:04:10

容错率不是玄学:连跪两天后的状态恢复实战指南

连跪这事,老玩家都不陌生。但有意思的是,连跪两天之后,我明显感觉到自己操作的“许可范围”在收缩——以前那种残血敢回头反打、半血敢卡视野秀操作的底气,没了。不是手生了,是容错率变了。我花了两个通宵,…

2026/10/8 10:04:10

智能体连不上ERP/OA/CRM?不是API问题,是语义没对齐

1. 项目概述:当企业智能体要“读懂”ERP、OA和CRM,它真正需要的不是更多API,而是更懂业务的连接逻辑最近帮三家企业落地智能体项目,客户问得最多的一句话就是:“我们系统都有API,为什么智能体还是连不上、读…

2026/10/8 10:04:10

Claude Code多Agent编排与闭环自愈:从聊天到工程流水线

从"单步聊天"到"工程流水线",这是我用Claude Code之后感受最深的一个转变。早期用Agent干活,基本是开一个对话窗口,把需求一股脑丢进去,然后就是漫长的对话拉锯:代码改一处、上下文乱一段&#xf…

2026/10/8 9:59:08

Java异步编程实战:CompletableFuture多任务编排与线程池避坑指南

在 Java 并发编程里,CompletableFuture 算是把异步编程门槛拉低了一个档位的存在。本来我不太想写这个被写烂了的主题,但最近连续在两个项目里看到有人把它用成"加强版 Future 加回调"——该编排的没编排,该兜底的没兜底&#xff0…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:02:17

自然数立方等于连续奇数之和:从证明到编程验证

十几年来我一直游走在数学科普和编程教学这两块内容之间,对“看起来像魔法、拆开全是数学”的结论总是格外敏感。最近翻资料时又撞见一句话:任何一个自然数 m 的立方,都可以写成 m 个连续奇数之和。2 的立方等于 3 加 5,3 的立方等…

2026/10/8 0:02:17

C#上位机SSH连接实战:用SSH.NET补齐超时、批量与密钥认证

简介:这是一份基于 C# 开发的 SSH 连接功能半成品工程,原本作为另一个主项目的子功能模块,现独立打包分享。工程采用 WinForms 界面,包含源码、解决方案、安装部署工程、NuGet 依赖包及说明文档,适合正在做远程连接、网…

2026/10/8 0:02:17

Java SpringBoot一体化智能售后系统设计与实现全解析

毕业设计年年做,Java Web 方向的题目翻来覆去就那么几个,但“一体化智能售后系统”这个题,每次看到我都觉得值得认真聊一聊。它不是一个简单 curd 堆出来的管理系统,而是把客户、工单、派单、处理、回访、统计整条链路串起来的一套…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑