介绍
今天就跟大家聊聊有关VUE项目中的主题怎么进行切换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强>方法一多套css 强>
这个方法也是最简单,也是最无聊的。
& lt; !——,中心,——比; & lt; template> ,动态获取父级类名称,进行一个父级类的多次定义 ,& lt; div :类=癱lassName"比; ,& lt; div 类=皊witch", v:点击=癱hang()“比; ,,{{==,className “box", ?,“开灯”,:,“关灯,,}} ,& lt;/div> ,& lt;/div> & lt;/template> & lt; script> export default  { ,名字:“Centre", ,数据(){ ,return { 名称:,才能“box" ,}; }, ,方法:{ ,//改变 ,chang () { this.className 才能;===,“box" ,,? (=this.className “boxs"), ,,:,(=this.className “box"); ,} }, }; & lt;/script> & lt; style  lang=皊css"祝辞 当类为box 使用女巫的css @import “。/风格/witch.scss"; 当类为boxs 使用黑色的css @import “。/风格/black.scss"; .switch { 位置:大敌;固定; 上图:大敌;4 px; ,右:10 px; ,z - index: 50; ,宽度:60 px; ,高度:60 px; ,背景:# fff; ,行高:60 px; ,这个特性:20%; } & lt;/style>
每个css文件样式大致相同,只是最外层的父级不一样,分别为。盒子和。箱
方法二scss动态切换变量
我自己是分为了2个主要文件来做的
_variable。scss变量管理文件
var()为css3中提出的声明样式变量的方法
var(属性名,属性值)注意属性值不能是字符串
//,主题切换 背景:美元var(写成backgroundColor, rgb (255255255)); 美元fontColor: var (fonntColor, rgb (0, 0, 0)); $ bgmColor: var (backgroundMColor, rgb (238238238)); $ tableColor: var (tableColor, rgb (218218218)); $ borderColor: var (borderColor, rgb (238238238)); $ tablesColor: var (tablesColor, rgb (255255255)); 美元inputColor: var (inputColor, rgb (255255255)
创建的_variable。scss文件我在vue.config。js进行了一个全局的配置,没有在组件中引入
, css:, { ,loaderOptions: {//才能,此文件为主题切换文件 sass才能:{ prependData才能:,“@import “。/src/风格/_variable.scss";”, ,,}, }, },
2. publicstyle.js
这个方法可以去修改var定义的变量
document.getElementsByTagName (“body") [0] .style.setProperty(“属性名“,“替换的属性值f");
//,主题切换 const cut =, (cutcheack),=祝辞,{ ,document.getElementsByTagName (“body") [0] .style.setProperty (“——backgroundColor",, cutcheack ?,“# 121212“,:,“# fff"); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——fonntColor",, cutcheack ?,“# cecece",:,“# 333“); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——backgroundMColor",, cutcheack ?,“# 333“,:,“# eee"); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——tableColor",, cutcheack ?,“# 000“,:,“# d8d8d8"); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——tablesColor",, cutcheack ?,“# 222“,:,“# fff"); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——inputColor",, cutcheack ?,“# 666“,:,“# fff"); ,document.getElementsByTagName (“body") [0] .style.setProperty (“——borderColor",, cutcheack ?,“# 666“,:,“# fff"); }; export default 减少;
组件中使用
& lt; !——,首页,——比; & lt; template> & lt; div 类=& # 39;回家# 39;比; & lt;才能el-switch v模型=癱utcheack",当前颜色=? 333“,inactive-color=? 13 ce66", active-text=爸魈狻?@change=皊witchs"祝辞& lt;/el-switch> & lt;/div> & lt;/template> & lt; script> import cut 得到“. ./. ./跑龙套/publicStyle.js"; export default  { ,名字:“Home", ,数据(){ ,return { cutcheack才能:假的,,//主题切换 ,}; }, ,方法:{ ,//左侧导航隐藏或显示 ,//切换主题 ,开关(),{ 切才能(this.cutcheack); }, }, }; & lt;/script> & lt; style  lang=& # 39; scss # 39;, scope> .home { ,高度:100%; ,宽度:100%; 背景:$背景; ,.el-container { ,,身高:100%; 颜色:才能fontColor美元; ,} } & lt;/style>VUE项目中的主题怎么进行切换