VUE主题切换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Vue.use(Vuex)
const store = new Vuex.Store({
    state: {
            "theme": "theme-red",
    },     
    mutations: {
        setTheme(state, theme) {
            state.theme = theme
        },
            },
    actions:{
        setTheme: ({
            commit,
            state
        }, theme)=>{
            //获取主题配置信息
            commit("setTheme",res.data.theme)
        }
    }
})
export default store

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const themeMixins ={
 computed: {
    theme() {
        return this.$store.state.theme
    }
 },
 methods: {
     //设置样式
    setTheme(theme){
        this.$store.dispatch("setTheme",theme)
    }
 }
}
 export default themeMixins<br>

  定义css

1
2
3
4
5
6
@import "./theme-red.scss";
@import "./theme-blue.scss";
 
.text-color{
  color: var(--text-color);
}

  //主题定义

1
2
3
4
5
.theme-red {
   
  --text-color:#FFFFFF;
 
}

  

posted @   羽鱼  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示