vue?+elementui?項(xiàng)目登錄通過(guò)不同賬號(hào)切換側(cè)邊欄菜單的顏色
前景提要:要求不同權(quán)限賬號(hào)登錄側(cè)邊欄顏色不一樣。分為 theme:1代表默認(rèn)樣式,theme:2代表深色主題樣式。
1.首先定義一個(gè)主題文件 theme.js,定義兩個(gè)主題樣式
// 主要是切換菜單欄和菜單頭部主題的設(shè)計(jì),整體主題樣式切換是否能匹配 export const _Theme = { 'lightTheme': { // 默認(rèn)主題樣式,要和varibles.scss的變量參數(shù)屬性一樣,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> 側(cè)邊欄文件: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>
側(cè)邊欄樣式表:variables.scss:
// sidebar $menuText:var(--menuText,#464646); $menuActiveText:var(--menuActiveText,$--color-theme); $subMenuActiveText:var(--subMenuActiveText,#464646); $menuBg:var(--menuBg,#ffffff);//側(cè)邊欄菜單主題色 $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; }
展示結(jié)果:
到此這篇關(guān)于vue +elementui 項(xiàng)目登錄通過(guò)不同賬號(hào)切換側(cè)邊欄菜單的顏色的文章就介紹到這了,更多相關(guān)vue elementui切換側(cè)邊欄菜單顏色內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項(xiàng)目打包部署_nginx代理訪問(wèn)方法詳解
今天小編就為大家分享一篇vue項(xiàng)目打包部署_nginx代理訪問(wèn)方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09vue-cli系列之vue-cli-service整體架構(gòu)淺析
這篇文章主要介紹了vue-cli系列之vue-cli-service整體架構(gòu)淺析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Vue+Element UI實(shí)現(xiàn)概要小彈窗的全過(guò)程
彈窗效果是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Vue+Element UI實(shí)現(xiàn)概要小彈窗的相關(guān)資料,需要的朋友可以參考下2021-05-05基于vue的短信驗(yàn)證碼倒計(jì)時(shí)demo
這篇文章主要介紹了基于vue的短信驗(yàn)證碼倒計(jì)時(shí)demo,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09vue-cli2.x舊版本卸載不掉的問(wèn)題踩坑指南(附Vue腳手架安裝教程)
遇到一個(gè)Vuecli2腳手架卸載不了的問(wèn)題,查了許多資料說(shuō)的都比較復(fù)雜,所以下面這篇文章主要給大家介紹了關(guān)于vue-cli2.x舊版本卸載不掉的問(wèn)題踩坑的相關(guān)資料,文中還附了Vue腳手架安裝教程,需要的朋友可以參考下2022-07-07vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信詳解
這篇文章主要給大家介紹了關(guān)于vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08vue使用路由的query配置項(xiàng)時(shí)清除地址欄的參數(shù)案例詳解
這篇文章主要介紹了vue使用路由的query配置項(xiàng)時(shí)如何清除地址欄的參數(shù),本文通過(guò)案例給大家分享完美解決方案,需要的朋友可以參考下2023-09-09Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決
這篇文章主要介紹了Element-ui的table中使用fixed后出現(xiàn)行混亂情況的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue3中v-if和v-for優(yōu)先級(jí)實(shí)例詳解
Vue.js中使用最多的兩個(gè)指令就是v-if和v-for,下面這篇文章主要給大家介紹了關(guān)于Vue3中v-if和v-for優(yōu)先級(jí)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09