Switch环境,Switch项目的架构设计方案

freefree技术Resources

这篇内容可直接阅读,适合用于基础学习和Search引流。

Switch环境,Switch项目的架构设计方案缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
Switch环境,Switch项目的架构设计方案插图

最近在项目中遇到了这样一个问题,在我们的system中,有一个项目的概念,用户可以创建多个项目,每个项目中又有多个环境, 当用户点击项目名称后,会进入一个项目的内页,左侧菜单栏会有Switch环境的Function。而每个环境下会有很多资源,如文章,用户,角色,以及流水线。

那么在Switch一个项目的环境后,要求停留在当前的页面,并获取当前环境下的文章,用户,角色,等data。 路由大致是这样 /p/pid/e/eid/job pid为项目id,eid为环境id。当Switch环境后,只会改变当前url中的eid参数。

一开始我的设计的方案是 在Switch环境时,更新路由中的eid,然后在每个需要refresh的页面watch route.params.eid,从而对页面的data进行重新load,或初始化。这个方案的有好处也有坏处,好处时,每个页面都可以在Switch环境后 做单独的页面逻辑处理,对于公用的data,即不依赖环境的接口data,不需要重新load。坏处是,有时工作量比较大,特别是当前页面中间变量比较多时。

我的同事的方案是,Switch环境时,先跳转到一个空的页面,在该页面进行重定向。从而实现当前页面的重新load mounted。 这样做改动量很少,但由于新增了一个中间重定向组件,会导致很多意外情况,比如白屏,路由错乱,增加冗余组件。而且我认为这个方案很low。但鉴于当时我没有更好的方案,也就先采取了这个方案。比较工作量不多,剩下的time来研究其他事情。

后来,我找到了一个更优雅的方案,那就是在
e目录下,创建eid目录以及eid.vue。 然后在eid.vue中只有一个 routerview组件,来渲染eid目录中的具体内容。最最重要的一点是 在routerview组件上 设置 :key="route.params.eid"由于key不同,vue会认为二个不同的节点,会重新渲染。
这样,只要路由中的eid变更后,routerview就会重新渲染,从而 下层的 文章,用户组件重新渲染。这是目前我找到的最优雅的方案。

来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbus通信协议技术社区 Category 未Category 字数 832 字 · 阅读约 3 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/11437.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时通信debug、register读写、线圈控制、data监控和message分析。 无需安装,微信Search「Modbus DebuggingAssistant」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
RelatedTags
把这篇Resources用于真实项目?

进入Tools中心进行messageParse、CRC verification和设备debug,或Submit requirements获取选型与接入建议。

工程师member

把这篇文章变成可执行的debugResources

开通后可使用高级messageParse、Resources包Download、Code Example、工程案例和优先Technical Support,适合真实项目交付。

高级Tools不限次
Resources包与代码包
Complete Engineering Case Library
优先Technical Support入口

发表回复

您的邮箱address不会被公开。 必填项已用 * 标注