vue-主题切换

news2024/11/23 18:29:21

themeName/index.vue页面:

<template>
  <div class="theme-view">
    <div @click="themeClick" class="theme-btn">切换颜色</div>
    <br>
    {{themeName == 'white' ? '白色' : '深色'}}主题页面
  </div>
</template>

<script>
export default {
    data(){
        return {
            // themeName: 'white', // 白色主题
        }
    },
    computed: {
        // 获取store中的主题色
        themeName() {
            return this.$store.state.user.themeName
        }
    },
    mounted() {
        // 给body添加类名
        document.body.classList.add(this.themeName);
    },
    methods: {
        themeClick(){
            if(this.themeName == 'white'){
                // 存储主题色到全局
                this.$store.commit('saveTheme', 'black')
                // 移除已有主题颜色
                document.body.classList.remove('white')
            }else{
                this.$store.commit('saveTheme', 'white')
                document.body.classList.remove('black')
            }
            // 新增主题类名
            document.body.classList.add(this.themeName)
        },
    },
}
</script>

<style>
.theme-view{
    width: 100%;
    height: 80vh;
    /* 如果css样式权重值不够,需要加 !important */
    background: var(--theme-bg);
    color: var(--theme-color);
}
.theme-btn{
    margin: 0 auto;
    height: 30px;
    width: 100px;
    background: var(--theme-btn);
    line-height: 30px;
    cursor: pointer;
    user-select: none;
}
</style>

styles/white.css文件:

.white {
  /* 定义css白色主题颜色 */
  --theme-bg: #f2f2f2;
  --theme-color: #333;
  --theme-btn: #0ff;
}

styles/black.css文件:

.black {
   /* 定义css黑色主题颜色 */
  --theme-bg: #3b6188;
  --theme-color: #fff;
  --theme-btn: #0f0;
}

store/modules/user.js文件: 

const state = {
    themeName: 'white', // 白色主题,全局共用同一个主题类型
}

const mutations = {
    saveTheme(state, params){
        state.themeName = params;
    },
}

export default {
    state,
    mutations,
}

main.js文件: 

// 引入主题颜色
import './styles/white.css'
import './styles/black.css';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch统计学分布

1、pytorch统计学函数 import torcha torch.rand(2,2) print(a) print(torch.sum(a, dim0)) print(torch.mean(a, dim0)) print(torch.prod(a, dim0))print(torch.argmax(a, dim0)) print(torch.argmin(a, dim0)) print(torch.std(a)) print(torch.var(a)) print(torch.median…

UE4 Unlua的快速使用

目录 Unlua的使用前言下载Unlua插件插件安装快速入门语法汇总模块导入多行字符串官方静态方法调用蓝图方法调用重载蓝图中的方法主动调用被重载的蓝图方法输入绑定动态绑定Lua脚本委托容器使用 延迟与协程的使用C 调用Lua 静态导出自定义类型到Lua使用网络UMG资源释放自定义加载…

秋招季的策略与行动指南:提前布局,高效备战,精准出击

6月即将进入尾声&#xff0c;一年一度的秋季招聘季正在热火进行中。对于即将毕业的学生和寻求职业发展的职场人士来说&#xff0c;秋招是一个不容错过的黄金时期。 秋招的序幕通常在6月至9月间拉开&#xff0c;名企们纷纷开启网申的大门。在此期间&#xff0c;求职备战是一个系…

SaaS客户裂变:如何构建合作伙伴的双向沟通桥梁

在SaaS行业中&#xff0c;客户裂变不仅是增长的关键&#xff0c;更要求与合作伙伴之间建立稳固的沟通桥梁。如何构建合作伙伴双向沟通的桥梁&#xff0c;真正做到理解对方的价值需求&#xff0c;实现长期合作共赢呢&#xff1f; 一、明确价值共享 首先&#xff0c;确保双方明…

git 初基本使用-----------笔记(结合idea)

Git命令 下载git 打开Git官网&#xff08;git-scm.com&#xff09;&#xff0c;根据自己电脑的操作系统选择相应的Git版本&#xff0c;点击“Download”。 基本的git命令使用 可以在项目文件下右击“Git Bash Here” &#xff0c;也可以命令终端下cd到指定目录执行初始化命令…

Windows环境本地部署开源在线演示文稿应用PPTist并实现远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Shopee本土店选品有什么技巧?EasyBoss ERP为你整理了6个高效选品的方法!

电商圈有句话叫&#xff1a;七分靠选品&#xff0c;三分靠运营&#xff0c;选品对了&#xff0c;事半功倍&#xff0c;选品错了&#xff0c;功亏一篑&#xff01; 很多卖家都会为选品发愁&#xff0c;特别对于Shopee本土店卖家来说&#xff0c;要囤货到海外仓&#xff0c;如果…

六西格玛黑带培训:技能进阶与薪资增长的助推器

在快速变化的职场环境中&#xff0c;不断寻求自我提升与突破成为了每一位职场人士的重要课题。六西格玛黑带培训作为质量管理领域的精英认证&#xff0c;它不仅代表着个人技能的提升&#xff0c;更意味着职业发展道路上的新机遇和薪资水平的飞跃。 六西格玛黑带培训&#xff…

KubeSphere容器平台本地部署并实现无公网IP远程监控集群

文章目录 前言1. 部署KubeSphere2. 本地测试访问3. Linux 安装Cpolar4. 配置KubeSphere公网访问地址5. 公网远程访问KubeSphere6. 固定KubeSphere公网地址 前言 本文主要介绍如何在Linux CentOS搭建KubeSphere并结合Cpolar内网穿透工具&#xff0c;实现远程访问&#xff0c;根…

Spring框架FactoryBean接口的作用和应用

一、FactoryBean源码解读 FactoryBean<T> 是 Spring 框架 beans.factory包中的一个接口&#xff0c;从字面意思可以理解为工厂bean&#xff0c;它是干什么的&#xff0c;类名上的泛型又是指什么&#xff0c;有什么作用&#xff1f; 注释看不懂没关系&#xff0c;先看一…

敏源-数字高精度温度探头可替代传统PT100/1000

传统模拟温度探头成本高、功耗高、数据采集不方便&#xff0c;而由工采网代理的敏源0.1℃数字温度探头&#xff0c;可替代传统的PT100/1000或升级热敏电阻探头&#xff1b;可应用于冷链、仓储、医疗、工业等低温/室温/高温高精度温度采集场景。 PT100温度传感器需要复杂的采集电…

BMS绝缘检测方案

目前已有绝缘检测方案大都类似&#xff0c;我想分享一下&#xff0c;同时也想提出一个问题&#xff1a;在总压1500V的时候&#xff0c;检测100K以下的阻值有什么很好的方案吗&#xff1f;希望有懂行的人能给予帮助&#xff0c;万分感谢&#xff01;&#xff01;&#xff01; 我…

电路与数字逻辑期末复习重点整理!!

1.带无关项的卡诺图 2.置数法设计N进制电路 计数器&#xff1a;具有记忆输入脉冲个数功能的电路称为计数器。 按照各个触发器状态更新情况的不同可分为&#xff1a; 同步计数器&#xff1a;各触发器受同一时钟脉冲─输入计数脉冲控制&#xff0c;同步更新状态。异步计数器&a…

AI大模型安全挑战和安全要求解读

引言 随着人工智能技术的飞速发展&#xff0c;大模型技术以其卓越的性能和广泛的应用前景&#xff0c;正在重塑人工智能领域的新格局。然而&#xff0c;任何技术都有两面性&#xff0c;大模型在带来前所未有便利的同时&#xff0c;也引发了深刻的安全和伦理挑战。 大模型&…

PointMamba: A Simple State Space Model for Point Cloud Analysis

1. 论文基本信息 2. 创新点 介绍了第一个状态空间模型 PointMamba&#xff0c;将其应用与点云分析。PointMamba 表现出令人印象深刻的能力&#xff0c;包括结构简单性&#xff08;例如&#xff0c;vanilla Mamba&#xff09;、低计算成本和知识可迁移性&#xff08;例如&#…

通过验证邮箱进行注册信息确认

应用在进行注册时&#xff0c;避免恶意攻击和垃圾注册&#xff0c;可以通过验证注册者身份后才能够提交。一般可以使用验证手机短信或者验证邮箱&#xff0c;验证短信会有专门的第三方服务&#xff0c;可以进行付费购买。验证邮箱的正确与否&#xff0c;可以通过以下2种方式进行…

关于组织赴俄罗斯(莫斯科)第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知

关于组织赴俄罗斯&#xff08;莫斯科&#xff09; 第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知 展会名称&#xff1a;俄罗斯&#xff08;莫斯科&#xff09;第 28 届国际汽车零部件、汽车零部件、汽车维修设备和商品展览会 时间&#xff1a;2024 年 8 月…

【异常总结】SeaTunnel集群脑裂配置优化方法

集群配置 项目描述数量3台规格阿里云ECS 16C64GSlot模式静态50个ST内存配置-Xms32g -Xmx32g -XX:MaxMetaspaceSize8g 异常问题 4月份以来&#xff0c;出现了3次集群脑裂现象&#xff0c;均为某节点脑裂/自动关闭。 核心日志如下&#xff1a; Master节点 出现Hazelcast监控…

学会python——在excel中写入数据(python实例十三)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3 .想Excel中写入数据 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…

[JS]DOM元素

介绍 DOM(Document Object Model---文档对象模型) 是浏览器提供的一套专门用来操作网页内容的API DOM树 把HTML文档以树状结构直观的表现出来, 称为文档数或者DOM树, DOM树直观的展示了标签与标签的关系 DOM对象 浏览器根据html标签生成的JS对象称为DOM对象 document对象 …