文章目录

  • 一、再现
  • 二、破局
    • 入乡随俗
    • 横刀立马
  • 三、开局

一、再现

有时候前端为了维护某个模块【如下文的系统管理】,习惯上会将开发的代码都维护在该目录下,无论从业务和开发理解角度都是没错的,无奈vue 的设计理念会对这样的设计思想产生冲击,注意我说的是冲击,并非是破坏或者说不易用; 来看一个明显的效果:


不知道,有多少童鞋平时使用 vue开发的时候是这样的风格,至少从笔者后端出身的设计中就曾有这样的习惯(有的时候公司内部组件需要界面展示,fe 可是不 care,这个时候就得自己来了);总觉得没毛病,但路由解析的时候界面死活重叠在一个路由下,无法自动跳转到你的角色、用户的各个页面,比如总是停留在角色界面,哪怕你的路由和组件路径都是正确的.

二、破局

那么针对上面的问题该如何解决?

界面目录: 前端展示的目录结果
开发目录: vcode 等编辑器开发的代码目录

事实上,上面提到的场景只是一种开发习惯,需要明确3种开发习惯才可以避免以上问题:

  1. 界面目录只有 一 级父目录 和 二级菜单,不同的父目录下的子菜单,维护各自下的所有页面。开发目录也对应该关系,创建各自的开发目录,并将页面文件都放在该目录下。
  2. 界面目录有多层级,开发目录对应该关系,也创建多个层级。【解决繁琐】
  3. 界面目录和 1 相同,但是开发目录创建多个层级,目的是更细粒度划分各个路由或者说模块的关系。
    网友:你以为我会只有这三种情况开发嘛?我还能在整一种!【TL:如果你说的不是混合使用,那希望 vue 能送走你☺️】

由此解决方式便出来了

入乡随俗

按 vue 官网给的 demo开发习惯是: 一个页面对应一个目录【注意前提是父目录只能是 views根目录,有过开发经验同学都知道,如api、route、views、state这些目录都是根目录】。

即便该菜单有多个页面,也需要创建多个目录,比如系统管理下有 用户管理、角色管理、权限管理,那么你开发目录结构是:views/user 、views/role、 views/menu这样一定不会出现此类问题。与此带来的问题是维护不便

横刀立马

依托你的思路,即你为了维护方便,必然期待上面需求是:views/sys/user、 views/sys/role 、 views/sys/menu, 这样符合开发习惯,若使用这样的思路,那么页面目录不能按照创建的开发目录那样分级,否则会出现 3 个页面访问都是同一个页面的情况【即便 url 上看是不同的】,所以界面目录应该是:

而不再是开局提到那样具有多层目录关系。必须如此创建页面结构嘛?
若真如开篇提到那种方式创建, 只不过需要在每个二级开发目录sys/role sys/menu 目录下
都需要一个添加重新渲染的代码文件【命名保持和创建路由的路径一致即可】,仍可以解决该问题

<template><router-view />
</template>

三、开局

vue 开发目前经过这几篇讲述,笔者自认为算是打开了 vue 开发的大门;现如今也算是在前端开辟一条道路,为日后的类似界面开发工作也提供了便捷;

此外曾经一直着力于开发的后端的我在自己写 vue过程,才深刻明白平时和前端接口交互的时候遇到一些矛盾,恰恰是自己不专业导致的,有时候换位思考才真正明白当时前端为啥那么想骂我。(向过去被我折磨的前端大佬致歉)

往期回顾

  1. vue 初探
  2. vue再探

一个后端童鞋步入 vue 深渊引发的惨案: VSCode Vue开发 目录下多个路由访问重叠不生效问题解决相关推荐

  1. Vue本地执行build之后打开dist目录下index.html正常访问

    场景 Vue的项目执行 npm run build 后会在本地dist下生成打包后的文件 但是此文件给后端后就能访问, 如果直接在本地双击在浏览器中打开就会提示一堆文件路径找不到. 这是因为直接在本地 ...

  2. android 获取图片上某一个文字位置_android 获取手机中的所有图片或某一目录下的图片方法...

    获取手机中的所有图片,并过滤获取某一目录下的图片.(注释掉的代码可以按照目录分组) private void getAllPhotoInfo() { new Thread(new Runnable() ...

  3. linux系统指令学习(创建目录,在目录下创建一个*.txt,*.txt输入内容,把*.txt文件拷贝到*目录下,把*文件夹目录移动到*目录下)

    linux系统指令学习1 透过12道题熟练掌握20个指令 Linux有150个常用指令,透过12道题去学习以及练习指令 1.创建一个目录/dzqc 提示: windows下的路径样式为c: \dzqc ...

  4. 编写一个shell脚本,使其能够备份/etc目录下所有文件,并且备份的文件名需要自动生成日期,即产生后缀名形如.backup_20210624的文件。

    一.实现过程: 目录 一.实现过程: 二.验证结果: 1.在当前目录下,使用vi或者touch命令新建一个shell脚本文件,并且使用chmod命令添加权限(我这里添加的是最高权限),如图: 2.使用 ...

  5. 一个后端开发的 Vue 笔记【入门级】

    一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...

  6. 微信小程序前后端分离服务器部署,一个标准的SpringBoot前后端分离部署手册【内置Tomcat,Vue,Uniapp】...

    打包前准备工作 一个主域名,3个子域名共计4个域名 主域名用于访问移动端,子域名2用于PC管理后台,子域名3用于访问Java Api,子域名4用于图片资源访问 举例4个域名,下文中会用此来代替 Jav ...

  7. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

  8. [vue] 如果现在让你从vue/react/angularjs三个中选择一个,你会选哪个?说说你的理由

    [vue] 如果现在让你从vue/react/angularjs三个中选择一个,你会选哪个?说说你的理由 让我选肯定是vue.angularjs没用过.angular倒是用过.挺好用的,但是!!!编译 ...

  9. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 我的前后端开发简史...

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

最新文章

  1. Windows批处理脚本%1和%1%有区别吗?
  2. 阿里云徐立:面向容器和 Serverless Computing 的存储创新
  3. [C++STL]list容器用法介绍
  4. java类加载器_java底层内功 第一章,类加载器的任性
  5. (转)15个强大的jQuery开发提示和技巧
  6. ORACLE 36进制和10进制,互相转换函数
  7. Linux---->进程-基础
  8. win10台式机屏幕亮度无法调节
  9. 华为mate7 Android 7,华为Mate7屏幕怎么样?华为Mate7屏幕材质是什么?
  10. python end函数用法_python end用法是什么?_后端开发
  11. 详解~前端人需要了解的DevOps
  12. C语言实现韩信点兵算法的代码
  13. 杰里之Linein api 数据结构【篇】
  14. Web学习第四天——CSS简介、选择器,常用(文本、字体、列表、背景、超链接)样式
  15. 对话系统的历史(聊天机器人发展)
  16. 模拟JAVA堆内存溢出和栈内存溢出
  17. 驱动 -- 强制结束进程 -- 整理
  18. Java写一个复数类并进行加法操作
  19. 健身用什么蓝牙耳机好?适合健身运动的蓝牙耳机
  20. 中软实习培训记录十三(0803)

热门文章

  1. java怎么设置cookie?java设置cookie教程
  2. 程序员获取编程灵感的10种方式
  3. 无人机基础知识:多旋翼无人机系统基本组成
  4. selenium java框架_自动化测试框架selenium+java+TestNG——配置篇
  5. C#输入三角形的三条边a、b、c,判断 等三角形(等腰三角形、直角三角形、一般三角形)
  6. SecureCRT的一些设置
  7. CAD模型导入Pointwise网格导入Fluent的联合设计教程
  8. 设银行1年期定期存款年利率c语言,4.计算定期存款本利之和设银行定期存款的年......
  9. 【自考一次过】《信息资源管理》第4章 信息系统资源内容管理
  10. python网页查询然后返回结果_python(30) 获取网页返回的状态码,状态码对应问题查询...