1 、修改浏览器标签名称:

修改浏览器标签名称在文件:\src\settings.js

 
image.png

2 、修改固定头部Header和侧边栏 Logo:

 
image.png

1)侧边栏文件在:\src\layout\components\Sidebar\index.vue, Sidebar组件中

 
image.png

2)修改侧边栏Log和标题在文件:src\layout\components\Sidebar\Logo.vue

 
image.png

3) 控制showLogo字段在文件 \src\settings.js中 【需要修改这个文件】

fixedHeader:true ==>为true则固定头部,为false则滚动,
sidebarLogo: true ==>为true则显示侧边栏logo,为false则隐藏

  1. module.exports = {
  2. title: 'Vue Admin Template',
  3.  
  4. /**
  5. * @type {boolean} true | false
  6. * @description Whether fix the header
  7. */
  8. fixedHeader: true,
  9.  
  10. /**
  11. * @type {boolean} true | false
  12. * @description Whether show the logo in sidebar
  13. */
  14. sidebarLogo: true
  15. }

注意:固定头部除了需要改变fixedHeader:true 属性值外,还需要在\src\layout\components\AppMain.vue添加样式,内边距增高

 
image.png

样式代码

  1. <style lang="scss" scoped>
  2. .app-main {
  3. /*50 = navbar */
  4. min-height: calc(100vh - 50px);
  5. width: 100%;
  6. position: relative;
  7. overflow: hidden;
  8. }
  9. .fixed-header+.app-main {
  10. padding-top: 50px;
  11. }
  12.  
  13. .hasTagsView {
  14. .app-main {
  15. /* 84 = navbar + tags-view = 50 + 34 */
  16. min-height: calc(100vh - 84px);
  17. }
  18.  
  19. .fixed-header+.app-main {
  20. padding-top: 84px;
  21. }
  22. }
  23. </style>
  24.  
  25. <style lang="scss">
  26. // fix css style bug in open el-dialog
  27. .el-popup-parent--hidden {
  28. .fixed-header {
  29. padding-right: 15px;
  30. }
  31. }
  32. </style>
 

3 、添加标签导航栏

文档见:https://panjiachen.github.io/vue-element-admin-site/zh/guide/essentials/tags-view.html

  1. 在setting.js中设置变量tagsView为true,控制tagView是否显示
    文件路径:src\settings.js
  1. /**
  2. * @type {boolean} true | false
  3. * @description Whether show the logo in sidebar
  4. */
  5. tagsView: true,
  1. 通过store - setting.js文件控制变量 tagsView
    文件路径:src\store\modules\settings.js
    添加引入变量
  1. const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings
  2.  
  3. const state = {
  4. showSettings: showSettings,
  5. fixedHeader: fixedHeader, // 控制是否固定导航
  6. sidebarLogo: sidebarLogo, // 控制头部logo是否显示
  7. tagsView: tagsView // 控制tagsView导航标签栏是否显示
  8. }

3)此步骤可忽略
在store-index.js中暴露settings
文件路径:src\store\index.js

  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import settings from './modules/settings'
  4.  
  5. Vue.use(Vuex)
  6.  
  7. const store = new Vuex.Store({
  8. modules: {
  9. settings
  10. },
  11. getters
  12. })
  13.  
  14. export default store

4)拷贝组件tagViews
至文件路径:src\layout\components\TagsView\index.vue

 
image.png

若是无权限路由则修改文件:src\layout\components\TagsView\index.vue里代码,因为admin版本是权限路由,获取路由方式不一样,代码return this.$router.options.routes

 
image.png

5)添加拷贝状态管理文件 store

 
image.png

5.1)拷贝此文件
\src\store\modules\tagsView.js
5.2)在getter.js中添加抛出字段
文件路径:src\store\getters.js

  1. visitedViews: state => state.tagsView.visitedViews,
  2. cachedViews: state => state.tagsView.cachedViews,
image.png

5.3) 引入tagView文件
文件路径:\src\store\index.js

 
image.png
 
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import tagsView from './modules/tagsView'
  4.  
  5. Vue.use(Vuex)
  6.  
  7. const store = new Vuex.Store({
  8. modules: {
  9. tagsView
  10. },
  11. getters
  12. })
  13.  
  14. export default store
 

以上为引入,下面开始使用

6) 在layout - component - index.js文件中添加 引入tagViews组件
文件路径:src\layout\components\index.js

  1. export { default as TagsView } from './TagsView/index.vue'
  1. 7)添加keep-alive缓存路由

文件路径:@/layout/components/AppMain.vue

  1. <section class="app-main">
  2. <transition name="fade-transform" mode="out-in">
  3. <keep-alive :include="cachedViews">
  4. <router-view :key="key" />
  5. </keep-alive>
  6. </transition>
  7. </section>

修改js文件

  1. computed: {
  2. cachedViews() {
  3. return this.$store.state.tagsView.cachedViews
  4. },
  5. key() {
  6. console.log(this.$route.path)
  7. return this.$route.path
  8. }
  9. }

8) 修改index.js文件
文件路径:\src\layout\components\index.js

 
image.png
  1. export { default as TagsView } from './TagsView/index.vue'
  1. 9 修改layout - index.vue文件(控制头部是否固定、tagsview导航标签

文件路径:src\layout\index.vue

 
image.png
  1. <template>
  2. <div :class="classObj" class="app-wrapper">
  3. <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
  4. <sidebar class="sidebar-container" />
  5. <div class="main-container">
  6. <div :class="{'fixed-header':fixedHeader}">
  7. <navbar />
  8. <tags-view v-if="needTagsView" />
  9. </div>
  10. <app-main />
  11. </div>
  12. </div>
  13. </template>
  14. import { Navbar, Sidebar, AppMain, TagsView } from './components'
  15. import ResizeMixin from './mixin/ResizeHandler'
  16.  
  17. export default {
  18. name: 'Layout',
  19. components: {
  20. Navbar,
  21. Sidebar,
  22. AppMain,
  23. TagsView
  24. },
  25. mixins: [ResizeMixin],
  26. computed: {
  27. needTagsView() {
  28. console.log(this.$store.state.settings.tagsView)
  29. return this.$store.state.settings.tagsView
  30. // return true
  31. },
  32. sidebar() {
  33. return this.$store.state.app.sidebar
  34. },
  35. device() {
  36. return this.$store.state.app.device
  37. },
  38. fixedHeader() {
  39. return this.$store.state.settings.fixedHeader
  40. },
  41. classObj() {
  42. return {
  43. hideSidebar: !this.sidebar.opened,
  44. openSidebar: this.sidebar.opened,
  45. withoutAnimation: this.sidebar.withoutAnimation,
  46. mobile: this.device === 'mobile'
  47. }
  48. }
  49. },
  1. 修改原有的dashboard为home(路由里的名称及跳转路径)
    文件路径:src\router\index.js
    注意:当在声明路由是 添加了 Affix 属性,则当前tag会被固定在 tags-view中(不可被删除)。
    添加:affix: true

     
    image.png

10)修改文件dashboard为home
文件路径:tests\unit\components\Breadcrumb.spec.js

最重要的一点:自己编写的vue文件里面的name一定要和router/index.js里面的name一致,否则缓存不会生效

参考资料:https://www.jianshu.com/p/cff91fcfe861

vue element Admin - 修改浏览器标签名 + 添加tagView标签 +固定导航头部 + 添加侧边栏Logo的更多相关文章

  1. vue 修改浏览器标题

    主要思路: 1.可以从路由获取当前页面的标题,再通过document.title设值,或者在最外层的index.html页面添加<title>标签 import router from ' ...

  2. 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚

    新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...

  3. Vue+Element实现网页版个人简历系统

    这篇文章介绍一个使用Vue+Element实现的个人简历系统,主要用到的技术有:vue.element.css3.css定位. 作者在window10进行开发,目前只在chrome上进行过测试,没有大 ...

  4. 循序渐进VUE+Element 前端应用开发(17)--- 菜单资源管理

    在权限管理系统中,菜单也属于权限控制的一个资源,应该直接应用于角色,和权限功能点一样,属于角色控制的一环.不同角色用户,登录系统后,出现的系统菜单是不同的.在VUE+Element 前端中,我们菜单结 ...

  5. Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单

    动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...

  6. Vue + Element UI 实现权限管理系统(动态加载菜单)

    动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...

  7. vue+element 实现商品sku效果

    在网上搜索了很久,没有发现合适sku编辑的文章,只能自己写一个vue+element 的sku编辑功能.实现的效果如下图 除成本.售价.库存.货号这几个写死的属性外,可自行添加/删除商品属性,自行添加 ...

  8. Vue Element使用第三库icon图标

    一:引入单设图标 1.打开 阿里icon,注册 >登录>图标管理>我的项目 2.新建项目 返回阿里icon首页,点进去你想要的icon库,因为没有批量导入购物车,所以一般情况下需要一 ...

  9. 循序渐进VUE+Element 前端应用开发(1)--- 开发环境的准备工作

    之前一直采用VS进行各种前端后端的开发,随着项目的需要,正逐步融合纯前端的开发模式,开始主要选型为Vue + Element 进行BS前端的开发,后续会进一步整合Vue + AntDesign的界面套 ...

随机推荐

  1. python怎么自学?今日头条技术大佬的真实经历分享

    大家好,我是武州,27岁,目前在字节跳动担任Python后端工程师一职. (摆拍一下,假装是保安) 在开始今天的文章之前,不知道你们有没有遇到过这样的问题: 大学没学到什么实质技术,毕业后找不到高薪的 ...

  2. 设计模式:bridge模式

    目的:将“类的功能层次结构”和“类的实现层次结构”分类 类的功能层次:通过类的继承添加功能(添加普通函数) 类的实现层次:通过类的继承实现虚函数 理解:和适配器模式中的桥接方法相同 例子: class ...

  3. C++语法小记---string类

    string类 #include <iostream> #include <string> using namespace std; // 实现字符串右移, 例子hello & ...

  4. hdu6755 Mow

    半平面交+数组模拟双端队列 人生第一次代码过两百行啊...加油加油 #include<iostream> #include<algorithm> #include<cma ...

  5. 【接单】找我付费定制Python工具软件或网站开发、Chrome浏览器插件、油猴脚本

    各位可付费找我定制Python工具软件或网站开发.Chrome插件.油猴脚本.自动化软件,可通过我做的软件来评判我的实力,一定要先和我沟通你的需求,做不了的我也不会接. 费用50元起,通过淘宝APP或 ...

  6. 利用Data vault对数据仓库建模

    简介 国内关于Data Vault的信息很少,所以决定写点什么,纯粹都是自己在这个行业10多年的摸爬滚打.不过为了效率,尽量做到简短,直接上干货.对于各个细节大家有不同的理解欢迎来讨论. 数据仓库建模 ...

  7. Fortify Audit Workbench 笔记 Dynamic Code Evaluation: Code Injection

    Dynamic Code Evaluation: Code Injection Abstract 在运行时中解析用户控制的指令,会让攻击者有机会执行恶意代码. Explanation 许多现代编程语言 ...

  8. I Hate It(区间最大问题,线段树)

    很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有时 ...

  9. HTML <body> 标签

    HTML <body> 标签 实例 一个简单的 HTML 文档,包含尽可能少的必需的标签: <!DOCTYPE html> <html> <head> ...

  10. PDOStatement::columnCount

    PDOStatement::columnCount — 返回结果集中的列数.(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0) 说明 语法 int PDOStateme ...