vue +elementui 项目登录通过不同账号切换侧边栏菜单的颜色

 更新时间:2024年01月03日 11:06:06   作者:zc自由飞~  
这篇文章主要介绍了vue +elementui 项目登录通过不同账号切换侧边栏菜单的颜色,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

前景提要:要求不同权限账号登录侧边栏颜色不一样。分为 theme:1代表默认样式,theme:2代表深色主题样式。
1.首先定义一个主题文件 theme.js,定义两个主题样式

// 主要是切换菜单栏和菜单头部主题的设计,整体主题样式切换是否能匹配
export const _Theme = {
  'lightTheme': {
    // 默认主题样式,要和varibles.scss的变量参数属性一样,theme为1
    menuBg: '#ffffff',
    menuText: '#464646',
    subMenuActiveText: '#464646',
    menu: '#F7FCFF'
  },
  'darkTheme': {
    // 深色主题,theme为2
    menuBg: '#2781AB',
    menuText: '#BDCBD9',
    subMenuActiveText: '#ffffff',
    menu: '#106E9A'
  }
}

2.在 App.vue 里获取上边的 js 文件的主题
App.vue :

<template>
  <div id="app">
    <router-view />
  </div>
</template>
<script>
import { _Theme } from './theme.js'
export default {
  name: 'App',
  computed: {
    nowTheme: {
      get() {
        return this.$store.state.user.user.theme
      }
    }
  },
  watch: {
    // 主题切换
    nowTheme() {
      if (this.nowTheme === 2) {
        this.changeStyle(_Theme.darkTheme)
      } else {
        this.changeStyle(_Theme.lightTheme)
      }
    }
  },
  methods: {
  //主要代码
    changeStyle(obj) {
      for (const key in obj) {
        document.getElementsByTagName('body')[0].style.setProperty(`--${key}`, obj[key])
      }
    }
  }
}
</script>
侧边栏文件:index.vue:
```javascript
<template>
    <el-scrollbar wrap-class="scrollbar-wrapper">
      <el-menu
        :default-active="activeMenu"
        :collapse="isCollapse"
        :background-color="variablesa.menuBg"
        :text-color="variablesa.menuText"
        :unique-opened="$store.state.settings.uniqueOpened"
        :active-text-color="variablesa.menuActiveText"
        :collapse-transition="false"
        mode="vertical"
      >
        <sidebar-item
          v-for="route in sidebarRouters"
          :key="route.path"
          :item="route"
          :base-path="route.path"
        />
      </el-menu>
    </el-scrollbar>
</template>
<script>
import SidebarItem from './SidebarItem'
import variables from '@/assets/styles/variables.scss' //主要代码
export default {
  computed: {
    variablesa() {
      return variables
    }
  }
}
</script>

侧边栏样式表:variables.scss:

// sidebar
$menuText:var(--menuText,#464646);
$menuActiveText:var(--menuActiveText,$--color-theme);
$subMenuActiveText:var(--subMenuActiveText,#464646);
$menuBg:var(--menuBg,#ffffff);//侧边栏菜单主题色
$menuTopBg:transparent;//顶栏菜单主题色
$menuHover:var(--menu,#F7FCFF);
$subMenuBg:var(--menu,#F7FCFF);
$subMenuHover:var(--menu,#F7FCFF);
$sideBarWidth: 260px;
:export {
  menuText: $menuText;
  menuActiveText: $menuActiveText;
  subMenuActiveText: $subMenuActiveText;
  menuBg: $menuBg;
  menuTopBg: $menuTopBg;
  menuHover: $menuHover;
  subMenuBg: $subMenuBg;
  subMenuHover: $subMenuHover;
  sideBarWidth: $sideBarWidth;
}

展示结果:

到此这篇关于vue +elementui 项目登录通过不同账号切换侧边栏菜单的颜色的文章就介绍到这了,更多相关vue elementui切换侧边栏菜单颜色内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VUEX 使用 mutations的两种方式

    VUEX 使用 mutations的两种方式

    这篇文章主要介绍了VUEX 使用 mutations的两种方式,实现方式就是利用vuex中的mutations,在mutations中定义一个方法,这个方法就是把点击的index(也就是每个列表的唯一标识),传给state中的当前标识,需要的朋友可以参考下
    2023-01-01
  • 谈谈对Vue Router的理解

    谈谈对Vue Router的理解

    vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用,这篇文章主要介绍了对Vue Router的理解,需要的朋友可以参考下
    2022-11-11
  • 浅谈在vue项目中如何定义全局变量和全局函数

    浅谈在vue项目中如何定义全局变量和全局函数

    本篇文章主要介绍了浅谈在vue项目中如何定义全局变量和全局函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 使用Element实现表格表头添加搜索图标和功能

    使用Element实现表格表头添加搜索图标和功能

    这篇文章主要介绍了使用Element实现表格表头添加搜索图标和功能,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Vue中的父子组件传值及传方法

    Vue中的父子组件传值及传方法

    这篇文章主要介绍了Vue中的父子组件传值及传方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue-cli3+typescript初体验小结

    vue-cli3+typescript初体验小结

    这篇文章主要介绍了vue-cli3+typescript初体验小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Vue3搭建组件库开发环境的示例详解

    Vue3搭建组件库开发环境的示例详解

    这篇文章给大家分享Vue3搭建组件库开发环境,给大家讲解依次搭建组件库、example、文档、cli,本文内容是搭建组件库的开发环境的过程,感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • vue3实现鼠标右键显示菜单,点击其他地方消失问题

    vue3实现鼠标右键显示菜单,点击其他地方消失问题

    这篇文章主要介绍了vue3实现鼠标右键显示菜单,点击其他地方消失问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 谈一谈vue请求数据放在created好还是mounted里好

    谈一谈vue请求数据放在created好还是mounted里好

    这篇文章主要介绍了谈一谈vue请求数据放在created好还是mounted里好的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 解决vue+webpack打包路径的问题

    解决vue+webpack打包路径的问题

    下面小编就为大家分享一篇解决vue+webpack打包路径的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论