网上很多方法都采用scss,现在用原生css实现一种简单版
mode.vue(随便定义名称):
// 在data里面定义mode为false
/*
* 模式切换
* */
fnChangeMode(){
this.mode = !this.mode;
if (this.mode == true) {
window.document.documentElement.setAttribute('data-theme', 'dark')
} else {
window.document.documentElement.setAttribute('data-theme', 'light')
}
}
/**
注意这里的css样式必须使用全局,不能加scoped标签!!!
**/
app.vue
#app {
background: var(--fill-1);
}
utils/theme.js
import { lightTheme, darkTheme } from '../less/variable';
import cssVars from 'css-vars-ponyfill';
export const initTheme = theme => {
document.documentElement.setAttribute('data-theme', theme);
cssVars({
watch: true, // 当添加,删除或修改其或