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

Vue Router 核心知识汇总

Vue Router 是 Vue3 官方路由管理器负责页面跳转、路由参数传递、权限控制等核心功能也是 CRM 系统 “多页面结构” 的基础。结合你之前关注的Pinia onActivated下面从「核心定位→基础用法→高级实战→与 Pinia/onActivated 协同」全维度讲解贴合 CRM 开发场景。一、核心定位CRM 开发中为什么必须用CRM 系统本质是 “多页面业务系统”登录页、工作台、订单列表、订单详情、客户管理等Vue Router 解决的核心问题页面跳转比如登录后跳工作台、点击订单跳详情页路由传参比如订单详情页通过路由获取orderId权限控制比如未登录用户禁止访问工作台、不同角色访问不同页面页面缓存配合KeepAlive实现列表页缓存结合onActivated刷新。二、基础用法快速上手1. 安装与全局注册bash运行# 安装Vue3 对应 router4 npm install vue-router4typescript运行// src/router/index.ts路由入口 import { createRouter, createWebHistory } from vue-router; import Login from /views/Login.vue; import Dashboard from /views/Dashboard.vue; import OrderList from /views/OrderList.vue; import OrderDetail from /views/OrderDetail.vue; // 定义路由规则 const routes [ { path: /, // 默认路由 redirect: /login // 重定向到登录页 }, { path: /login, name: Login, // 命名路由用于 KeepAlive 缓存 component: Login }, { path: /dashboard, name: Dashboard, component: Dashboard, meta: { requiresAuth: true } // 标记需要登录才能访问 }, { path: /orders, name: OrderList, component: OrderList, meta: { requiresAuth: true, keepAlive: true } // 需要登录 缓存组件 }, { path: /orders/:id, // 动态路由参数订单ID name: OrderDetail, component: OrderDetail, meta: { requiresAuth: true }, props: true // 把路由参数映射为组件 props可选 } ]; // 创建路由实例 const router createRouter({ history: createWebHistory(import.meta.env.BASE_URL), // HTML5 历史模式 routes }); // 全局注册src/main.ts import { createApp } from vue; import { createPinia } from pinia; import App from ./App.vue; import router from ./router; const app createApp(App); app.use(createPinia()); app.use(router); app.mount(#app);2. 路由出口App.vuevuetemplate !-- 路由出口渲染匹配的组件 -- router-view v-slot{ Component } !-- 缓存指定组件结合 keepAlive 标记 -- keep-alive :include[OrderList, Dashboard] component :isComponent / /keep-alive /router-view /template3. 组件中使用路由跳转 / 传参1基础跳转比如登录页跳工作台vuescript setup langts import { useRouter } from vue-router; import { useUserStore } from /stores/user; const router useRouter(); const userStore useUserStore(); const handleLogin async () { await userStore.login(loginForm.value); // 跳转到工作台 router.push(/dashboard); // 或用命名路由推荐避免硬编码路径 // router.push({ name: Dashboard }); }; /script2动态路由传参列表页跳详情页vue!-- OrderList.vue -- script setup langts import { useRouter } from vue-router; const router useRouter(); // 点击订单跳详情页传递 orderId const handleGoDetail (orderId: string) { // 方式1路径传参 router.push(/orders/${orderId}); // 方式2命名路由 参数推荐 // router.push({ name: OrderDetail, params: { id: orderId } }); }; /script3详情页接收参数vue!-- OrderDetail.vue -- script setup langts import { useRoute } from vue-router; import { onMounted } from vue; import { useOrderStore } from /stores/order; const route useRoute(); const orderStore useOrderStore(); // 方式1直接读取路由参数 const orderId route.params.id as string; // 方式2通过 props 接收路由配置中开启 props: true // const props defineProps{ id: string }(); // const orderId props.id; // 加载订单详情 onMounted(() { orderStore.fetchOrderDetail(orderId); }); /script三、高级实战CRM 核心需求1. 路由守卫权限控制CRM 最核心的路由需求是 “权限控制”未登录禁止访问、不同角色访问不同页面通过「全局前置守卫」实现typescript运行// src/router/index.ts import { useUserStore } from /stores/user; // 全局前置守卫跳转前验证权限 router.beforeEach((to, from, next) { const userStore useUserStore(); // 判断目标页面是否需要登录 if (to.meta.requiresAuth !userStore.isLogin) { // 未登录跳登录页并记录目标页面登录后跳转回去 next({ path: /login, query: { redirect: to.fullPath } }); } else { // 已登录判断角色权限比如 admin 才能访问设置页 if (to.path /settings userStore.userInfo.role ! admin) { next(/dashboard); // 无权限跳工作台 } else { next(); // 放行 } } }); // 登录页跳转回原目标页面Login.vue const handleLogin async () { await userStore.login(loginForm.value); // 获取跳转前的目标页面默认跳工作台 const redirect route.query.redirect as string || /dashboard; router.push(redirect); };2. 与 Pinia onActivated 协同CRM 核心组合这是你最关心的点结合三者实现 “缓存 刷新 数据一致”vue!-- OrderList.vue订单列表页 -- script setup langts import { ref, onMounted, onActivated } from vue; import { useRoute } from vue-router; import { useOrderStore } from /stores/order; const route useRoute(); const orderStore useOrderStore(); const searchKey ref(); // 封装刷新逻辑 const fetchOrderList async () { // 结合路由参数比如筛选条件 Pinia 请求数据 const params { searchKey: searchKey.value, page: route.query.page || 1 // 路由传分页参数 }; await orderStore.fetchOrderList(params); }; // 第一次渲染初始化 onMounted(() { fetchOrderList(); }); // 核心从详情页返回时触发刷新组件已缓存 onActivated(() { fetchOrderList(); }); /script3. 路由参数监听筛选条件变化刷新CRM 列表页常通过路由参数传递筛选条件比如?statuspaidpage1监听参数变化刷新数据vuescript setup langts import { watch } from vue; import { useRoute } from vue-router; const route useRoute(); // 监听路由参数变化比如筛选条件、分页 watch( () route.query, () { fetchOrderList(); // 参数变化重新请求数据 }, { immediate: true } // 初始化时执行一次 ); /script四、核心避坑点CRM 开发常错1. 动态路由参数变化组件不刷新比如从/orders/1跳/orders/2详情页不重新加载数据vue!-- 解决方案监听路由参数变化 -- watch( () route.params.id, (newId) { orderStore.fetchOrderDetail(newId); // 重新加载新订单数据 }, { immediate: true } );2. KeepAlive 缓存后数据不刷新解决方案用onActivated替代onMounted做刷新逻辑前面已讲。3. 路由守卫中使用 Pinia 注意点路由守卫执行时Pinia 可能还未初始化→ 直接在守卫内调用useUserStore()即可Pinia 支持延迟初始化。五、与 Pinia/onActivated 协同总结核心逻辑表格工具核心职责协同方式Vue Router页面跳转、路由传参、权限控制1. 动态路由传参给组件如 orderId2. 路由参数传递筛选条件3. 守卫控制页面访问权限Pinia全局数据存储、异步请求封装1. 组件从 Pinia 读取数据2. Action 封装请求逻辑3. 权限判断依赖 Pinia 的用户状态onActivated缓存组件激活时刷新数据1. 返回列表页时触发刷新2. 刷新逻辑同步路由参数和 Pinia 数据六、最终总结CRM 开发最佳实践核心组合Vue Router页面跳转/权限 Pinia全局数据 onActivated缓存刷新是 CRM 开发的 “铁三角”覆盖 100% 核心场景路由设计原则按业务模块拆分路由/orders//customers//dashboard动态路由传核心参数如订单 ID查询参数传筛选 / 分页条件给需要缓存的页面加keepAlive标记配合onActivated刷新权限控制通过全局前置守卫 Pinia 的用户状态实现 “登录验证 角色权限” 双层控制Mitt 定位仅在 “跨页面 / 跨框架通信、纯 UI 动作触发” 等极特殊场景补位核心场景完全不用。这个 “铁三角” 组合是 Vue3 开发 CRM 系统的最优解既保证了代码的规范性又兼顾了用户体验缓存 按需刷新完全贴合你 “少用冗余工具、聚焦核心逻辑” 的开发思路。

相关文章:

Vue Router 核心知识汇总

Vue Router 是 Vue3 官方路由管理器,负责页面跳转、路由参数传递、权限控制等核心功能,也是 CRM 系统 “多页面结构” 的基础。结合你之前关注的 Pinia onActivated,下面从「核心定位→基础用法→高级实战→与 Pinia/onActivated 协同」全维…...

Lean 4自动形式化与证明检测技术解析

1. 项目背景与核心挑战 在形式化验证领域,Lean 4作为新一代定理证明辅助工具,正在改变数学验证和程序验证的工作方式。这个项目聚焦于两个关键痛点:如何将非形式化的数学描述自动转换为Lean 4可处理的形式化代码,以及如何检测证明…...

Midscene.js终极指南:5大核心优势解析,如何用AI视觉模型实现真正的跨平台UI自动化

Midscene.js终极指南:5大核心优势解析,如何用AI视觉模型实现真正的跨平台UI自动化 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在当今…...

六相永磁同步电机匝间短路故障诊断【附代码】

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。 ✅ 如需沟通交流,扫描文章底部二维码。(1)考虑故障线圈位置的匝间短路故障动态建模与电感解析&#xf…...

BeagleBone Black开源硬件开发板全解析

1. BeagleBone Black:开源硬件的创新引擎当一块信用卡大小的电路板能够驱动3D打印机、控制潜水机器人甚至酿造啤酒时,这意味着硬件开发的游戏规则正在被改写。BeagleBone Black(简称BBB)正是这样一款颠覆传统的开源硬件平台&#…...

【Laravel 12+ AI集成终极指南】:从零部署LangChain+Llama3到生产级API,附12个已验证性能优化陷阱清单

更多请点击: https://intelliparadigm.com 第一章:Laravel 12 AI集成架构全景与演进趋势 Laravel 12 引入了原生异步任务调度、内置 HTTP client 增强、以及对现代 AI 工作流的深度适配能力,标志着 PHP 生态正式迈入“AI-ready”时代。其核心…...

ARM CCI-400 PMU架构与性能监控实战

1. ARM CCI-400 PMU架构解析在现代多核SoC设计中,互连架构的性能直接影响整个系统的效率。ARM CCI-400作为广泛应用的Cache一致性互连方案,其集成的Performance Monitoring Unit(PMU)为开发者提供了关键的硬件级性能观测能力。这个…...

【VSCode 2026启动性能优化白皮书】:实测冷启提速317%,附官方未公开的5大内核级调优参数

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026启动性能优化白皮书导论 随着 VSCode 2026 正式版发布,其底层架构已全面迁移至 Electron 30 V8 13.2,并引入基于 WebAssembly 的预加载沙箱机制。启动性能成为开发者…...

别再死磕手册了!用Vivado 2023.1手把手配置Xilinx SRIO IP核(附Buffer深度选择避坑指南)

实战指南:Vivado 2023.1下Xilinx SRIO IP核高效配置与性能调优 第一次在Vivado中配置SRIO IP核时,面对密密麻麻的选项和参数,大多数工程师都会感到无从下手。手册上的技术说明虽然详尽,但缺乏实际工程视角的解读——为什么这个Buf…...

2kW车载充电机Boost_PFC+全桥LLC两级式AC-DC变换器控制Psim仿真(Mathcad设计书+参考文献)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

观察 Taotoken 在流量高峰期的请求路由与容灾表现

观察 Taotoken 在流量高峰期的请求路由与容灾表现 1. 测试背景与场景设定 近期某电商平台在促销活动期间,其智能客服系统面临流量激增的挑战。该系统通过 Taotoken 平台接入多个大模型 API,用于处理用户咨询、商品推荐等任务。我们记录了活动期间&…...

Harbor镜像仓库安全加固:手把手教你删除swagger.json文件(附Docker命令详解)

Harbor镜像仓库安全加固实战:彻底清除Swagger未授权访问风险 最近在帮客户做容器镜像仓库安全审计时,发现一个容易被忽视但相当普遍的问题——Harbor默认暴露的Swagger UI接口。这个看似无害的功能文档,实际上可能成为攻击者收集系统信息的入…...

终极免费抖音下载工具:快速实现批量下载与去水印的完整指南

终极免费抖音下载工具:快速实现批量下载与去水印的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …...

XShell隐藏玩法:除了SSH远程,它还是你Windows上的串口调试神器(附详细配置截图)

XShell隐藏玩法:串口调试的高效解决方案 作为一名常年与服务器打交道的开发者,我们早已习惯XShell作为SSH客户端的稳定表现。但鲜为人知的是,这款工具在串口调试领域同样展现出令人惊喜的专业能力。当你在调试嵌入式设备时,无需在…...

什么是泄爆门?适用于哪些地方?

泄爆门(又称泄压门)是易燃易爆、粉尘超压场景专用特种安全门,核心原理是爆炸/超压瞬间自动开启泄压,定向释放冲击波、保护厂房主体结构,是化工、粉尘车间、锅炉房的必备安全设施,沧州任丘本地有成熟生产厂家…...

Agent 一接浏览器剪贴板就开始贴错内容:从 Clipboard Claim 到 Paste Confirmation 的工程实战

很多团队把浏览器 Agent 接进真实后台后,最先暴露的隐患往往不是不会复制粘贴,而是把上一次任务的内容贴进了这一次页面。⚠️ 这类事故很少当场报错,却会在链接和工单备注里悄悄放大。图 1:浏览器自动化里最危险的状态之一&#…...

MediaTek Kompanio 1380处理器性能与优化全解析

1. MediaTek Kompanio 1380处理器深度解析作为专为高端Chromebook设计的移动处理器,MediaTek Kompanio 1380(MT8195T)采用了台积电6nm制程工艺,其核心架构由4个Cortex-A78性能核心(最高3.0GHz)和4个Cortex-…...

VSCode 2026智能体编排实战:从零搭建可审计、可回滚、支持LLM-RAG双引擎的协同开发工作流

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026多智能体协同编程全景概览 VSCode 2026正式引入原生多智能体(Multi-Agent)协同编程架构,将编辑器从单用户工具升级为分布式编程协同时空。核心引擎基于轻…...

软件工程师在TVA产业化浪潮中的角色定位与机遇(4)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan师从美国三院院士、“AI教母”…...

MCP 2026动态沙箱隔离调整深度拆解(含ASM级指令重定向原理+eBPF Hook点清单)

更多请点击: https://intelliparadigm.com 第一章:MCP 2026动态沙箱隔离调整的演进背景与核心目标 随着云原生应用规模持续扩张与零信任架构落地深化,传统静态沙箱机制在资源调度粒度、跨域策略协同及实时威胁响应方面已显疲态。MCP&#x…...

软件工程师在TVA产业化浪潮中的角色定位与机遇(2)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan师从美国三院院士、“AI教母”…...

TVA与CNN的历史性对决(4)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan师从美国三院院士、“AI教母”…...

【国家级AI治理标准对标】:用R构建可解释偏见热力图——覆盖BERT、Llama3、Qwen3共12类主流模型的标准化检测流水线

更多请点击: https://intelliparadigm.com 第一章:【国家级AI治理标准对标】:用R构建可解释偏见热力图——覆盖BERT、Llama3、Qwen3共12类主流模型的标准化检测流水线 标准化检测框架设计原则 本流水线严格遵循《生成式人工智能服务管理暂…...

MCP 2026智能调度落地实录:从CPU/内存/网络三维动态建模到毫秒级资源再分配的7步闭环

更多请点击: https://intelliparadigm.com 第一章:MCP 2026智能调度架构全景概览 MCP 2026(Multi-Cluster Parallel Scheduler 2026)是面向异构云边端协同场景的新一代智能调度框架,其核心设计理念是“语义感知、动态…...

企业团队如何利用 Taotoken 实现统一的大模型 API 密钥管理与审计

企业团队如何利用 Taotoken 实现统一的大模型 API 密钥管理与审计 1. 团队密钥管理的核心挑战 在多人协作的开发环境中,直接共享主账号密钥存在明显的安全隐患。未经管控的密钥分发可能导致额度超支、模型滥用或责任难以追溯等问题。Taotoken 提供的企业级密钥管理…...

Warp源码深度解析(六):AI Agent的Context管理——从9种上下文到流水线组装

这是 Warp 源码深度解析系列的第六篇。Context 管理是 AI Agent 的"感知系统"——决定了 Agent 能看到什么、知道什么。本文深入 Warp 的 9 种 AIAgentContext、BlocklistAIContextModel 状态机、input_context_for_request 流水线组装、项目规则扫描和代码库索引上下…...

2025届学术党必备的AI论文助手实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于AI写作普及之际,各类检测系统顺势出现。降AI工具的关键功能是针对生成文本实施…...

Transformer自注意力为何除以根号dk

每周技术面试高频题汇总(2026.04.24 - 2026.05.01) 基于过去一周各大技术社区(CSDN、掘金等)的热议内容,本周面试题聚焦于大模型算法前沿、系统架构设计、数据库深度优化及底层算力加速。以下精选10道高频考题&#x…...

GITA:面向视觉-语言图推理的图到视觉与文本集成

论文结构化摘要:GITA:面向视觉-语言图推理的图到视觉与文本集成 1. 核心研究问题 (PICO/T) P (问题/群体): 当前基于大型语言模型(LLM)的图推理方法仅使用文本描述来表示图结构,忽略了直观的视觉模态。现有的图神经网络(GNN)虽然擅长图推理,但泛化性、灵活性和用户友好…...

上海物联网平台与设备集成开发:D-coding 一站式解决方案深度解析

物联网应用开发在落地层面远比概念复杂。设备协议的碎片化、数据链路的稳定性、平台架构的扩展能力,每一个环节都可能成为项目推进的阻碍。上海作为国内制造业和工业互联网的重要聚集地,围绕物联网应用开发的需求持续增长,但真正能从设备接入…...