vue-element-admin关闭eslint的校验方式

目录
  • vue-element-admin关闭eslint校验
    • 坑人方法
    • **最终方法:**在根目录找到.eslintignore文件
  • vue-element-admin梳理
    • 一、Layout组件分析
    • 二、sidebar组件分析
    • 三、Sidebar-item的组成
    • 四、Sidebar-item 细节分析
    • 五、sidebar文件下的index.vue

vue-element-admin关闭eslint校验

坑人方法

1、在vue.config.js文件中吧lintOnSave改成false;

2、在package.json文件中把husky和lint-staged配置删除;

**最终方法:**在根目录找到.eslintignore文件

把内容改成’*’,这样一来就能自动忽略对所有文件的校验了!!!

vue-element-admin梳理

一、Layout组件分析

Layout文件下的index.vue是vue-element-admin架构的主要界面,界面的左侧是菜单栏(sidebar);界面的右侧栏顶部是Navbar,下面就是主要展示内容由<app-main/>包裹的<router-view/>

二、sidebar组件分析

sidebar文件下的index.vue就是侧边栏的架构,主要是有<el-menu><el-menu/>组成;el-menu里面是通过SidebarItem来完成路由菜单。

三、Sidebar-item的组成

在Sidebar有4项比较重要的组成部分分别以下:

1.

v-if="hasOneShowingChild(item.children,item)&& (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"

来判断是该路由是否是只有一层级菜单

2. 如果该路由是复合菜单,则执行<el-submenu><el-submenu/>,在el-submenu里面将会再次执行sidebar-item组件,遍历直到路由只有一层菜单

3.app-link

<app-lin><app-link/>是通过动态组件component  :is=‘type’ 来动态显示相应内容

其中isExternal 来判读type类型,决定是显示 a 链接 或是 router-link

4. SidebarItem 中 <Item/>组件 是用来显示对应的Icon图标和Title,

通过 :Icon = item.meta.icon ;  :title = item.meta.title;

在Item组件中可以看到 icon图标和Title 都是接受props传来的变量,展示对应的模块

并且 这里使用到了render()函数,创建 i 标签和 svg标签。所以在侧边栏中,是可以使用Icon图标和svg图标,然后就是创建了span标签展示对应的title

四、Sidebar-item 细节分析

上图可以看出,当前路由Item的hidden属性为true时,整个菜单栏是隐藏不展示的,当

hasOneShowingChild( )返回true时执行el-menu-item,返回为false时则执行el-submenu

然后再判断hasOneShowingChild( )的返回值,一直遍历下去。

接下来具体来分析 hasOneShowingChild()这个函数

1.先定义数组 showingChildren 通过遍历item.children满足每一项hidden属性为true的项 不加入showingChildren中。

2. 完成遍历后判断showingChildren数组的长度,若长度为1则 hasOneShowingChild()函数返回true, 执行el-menu-item; 若长度为0则返回true并且this.onlyOneChild 就等于父亲parent(当前的Item)就展示父亲菜单项; 当长度为其他时,都返回false,将执行el-submenu 一直遍历下去,直到当前项只有一个或没有children。

3. this.onlyOneChild = item 只有hasOneShowingChild()函数成立,等式才有意义。

4.在<app-lin><app-link/>组件中isExternal()是校验函数,当校验地址path为‘http//...’返回true,则动态切换组件为a链接;否则返回的是<router-link>,并执行 :to传过来的path;

5. 下面来讲讲<item></item>标签中图标的展示

这里前面提到过,可以给item标签内传递:icon属性,这样可以修改icon图标了,并且item标签中不仅可以接受icon图标也接收svg图标。当我们传递图标如需要使图标颜色随点击激活文字颜色一致,我们可以使用currentColor这个属性。

如图sub-el-icon { color : currentColor } 表示图标色颜色是继承父级或相关联颜色,这个属性极其好用。但是原框架的中svg图标好像没有对应的css代码,我们可以在svg的fill 添加currentColor属性。一般在UI给我们切图的时候,可以跟UI说svg的fill属性值设为currentColor,这样和icon图标的sub-el-icon是同样的效果。

五、sidebar文件下的index.vue

这里使用activeMenu变量设置默认激活地址,通过this.$route获取当前地址。判断meta中是否有activeMenu属性,有则将meta.activeMenu设为默认激活地址,否则直接将获取的path设为默认地址,这样刷新页面时可缓存当前页面不会变更。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue-element-admin登录全流程分享

    目录 1.安装最新的vue-element-admin 2.如有需要可以去掉eslint 3.删除所有的eslint文件 4.开始安装依赖包 5.启动服务 6.进入登录页面 7.后端编写登录接口 8.如需验证码,对登录页面进行改造 9.(重点)进行登录请求 10.刚刚发送的登录请求就进入下面这个函数里面去 1.安装最新的vue-element-admin 2.如有需要可以去掉eslint 在下面这个文件里面全局搜索 3.删除所有的eslint文件 4.开始安装依赖包 npm install 5.

  • vue如何关闭eslint检测(多种方法)

    目录 一.问题描述 二.问题解决 一.问题描述 我们在开发vue项目的时候,创建的时候可能会不小心选择了eslint,这个检测规则对于新手来说,简直就是噩梦,会让你崩溃.所以如果不想让eslint检测,我们该怎么办呢?我总结了一些方法,针对不同的版本. 二.问题解决  1.首先是比较旧的vue项目 比较旧一点的项目可能会有webpack.base.conf.js这样一个文件.有这个文件的话,就直接修改这个文件就可以解决 上图红框框部分,我项目中的文件内容是这样的,其他项目可能有别的一些内容,我们

  • vue中关闭eslint的方法分析

    如图,注释掉该行,然后重新运行 npm run dev 撤销上步操作,将配置文件中的true改为false. 下图是更改后的结果.更改了配置文件后,需要运行npm run dev

  • vue项目关闭eslint校验

    简介eslint eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格. 官方文档:https://eslint.org 这篇文章总结了eslint的规则:Eslint规则说明 关闭eslint校验 有了eslint的校验,可以来规范开发人员的代码,是挺好的.但是有些像缩进.空格.空白行之类的规范,在开发过程中一直报错,未免太过于苛刻了.所以,我还是会选择关闭eslint校验. 下面就介绍一下vue项目中如何关闭这个校验. 首先我们在创建一个vue项目的时候,会有一

  • vue-element-admin关闭eslint的校验方式

    目录 vue-element-admin关闭eslint校验 坑人方法 **最终方法:**在根目录找到.eslintignore文件 vue-element-admin梳理 一.Layout组件分析 二.sidebar组件分析 三.Sidebar-item的组成 四.Sidebar-item 细节分析 五.sidebar文件下的index.vue vue-element-admin关闭eslint校验 坑人方法 1.在vue.config.js文件中吧lintOnSave改成false: 2.在

  • vue+element导航栏高亮显示的解决方式

    用导航菜单时遇到的一些问题:点击打开官网例子 问题1: 页面强制刷新,按F5时,页面如果没有好好设置的话,导航栏默认叠起来,而且无高亮显示:刷新后导航栏显示和之前不一致,如图所示 解决: html关键代码设置 :default-active="defaultUrl" 这儿的原理就是defaultUrl跟#/后面的一致,也就是说跟router.js中的path一致才行(router.js见后文) window.location.href.split('/#')[1] 获取的是"

  • vue+element使用动态加载路由方式实现三级菜单页面显示的操作

    需要用到中间件的方式,这样就可以实现了我们想要的方式 publish-center.vue <template> <router-view></router-view> </template> <script> export default { } </script> <el-menu :default-active="$route.path" class="el-menu-vertical-dem

  • Vue系列之Element UI表单自定义校验规则

    目录 一.表单效验规则的使用 1.自定义效验规则介绍 2.绑定效验方法 3.添加效验 4.效验判断 5.清除效验规则 二.常见表单效验规则 (一)pattern验证 (二)validator.js文件中常见的验证方法 总结 一.表单效验规则的使用 1.自定义效验规则介绍 是否必填: required: true  ||   fasle 效验消息提示:message: "提示信息" 效验触发方式:trigger:"change"  ||  "blur&quo

  • Vue项目中引入ESLint校验代码避免代码错误

    目录 1 ESLint 是什么 2 在 Vue 项目中引入 ESLint 2.1 引入 ESLint 2.2 ESLint 配置 2.3 执行 ESLint 代码检查 2.4 自动修复 ESLint 问题 3 配置 husky 和 PR 门禁 3.1 配置 husky 门禁 3.2 配置 PR 门禁 4 常见的 ESLint 问题及修复案例 4.1 案例1: 4.2 案例2: 4.3 案例3: 4.4 案例4: 5 感谢 1 ESLint 是什么 ESLint 是一个插件式的 JavaScrip

  • Vscode关闭Eslint语法检查的多种方式(保证有效)

    目录 前言 一.删除Eslint相关依赖项 二.关闭语法检查 1.临时关闭某行检查 2.临时关闭以下所有检查 3.修改配置项 三.设置中关闭语法检查 补充:常见规则列表 总结 前言 ESLint 是一个插件化的 javascript 代码检测工具,它可以用于检查常见的 JavaScript 代码错误,也可以进行代码风格检查,能够很好的执行编码规范,提高项目代码的质量. 但是开发或是学习当中,有时候模板是从github或是gitee上下载下来的半成品项目,项目内部做了好些相关的项目配置,比如Esl

  • Vue引入并使用Element组件库的两种方式小结

    目录 前言 Element-ui(饿了么ui) 安装element-ui 引入element-ui 完整引入element-u 按需引入element-ui 总结 前言 在开发的时候,虽然我们可以自己写css或者js甚至一些动画特效,但是也有很多开源的组件库帮我们写好了.我们只需要下载并引入即可. vue和element-ui在开发中是比较般配的,也是我们开发中用的很多的,下面就介绍下如何在eue项目中引入element-ui组件库 Element-ui(饿了么ui) element-ui(饿了

  • vue+element实现表单校验功能

    要实现这个功能其实并不难,element组件直接用就可以, 但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程...... 表单校验功能: 实现这个功能,总共分为以下4布: 1.在el-form标签中定义:rules="rules";ref="reference" 2.在el-form-item定义prop="name"; 3.在选项data中定义rules校验规则; 4.在提交方法中检查用户行为 templa

随机推荐