前端点击切换样式/切换主题

1.创建一个theme_utils.js文件:

const theme = {
  chalk: {
    // 背景颜色
    backgroundColor: '#161522',
    // 标题的文字颜色
    titleColor: '#ffffff',
    // 左上角logo的图标路径
    logoSrc: 'logo_dark.png',
    // 切换主题按钮的图片路径
    themeSrc: 'qiehuan_dark.png',
    // 页面顶部的边框图片
    headerBorderSrc: 'header_border_dark.png'

  },
  vintage: {
    // 背景颜色
    backgroundColor: '#eeeeee',
    // 标题的文字颜色
    titleColor: '#000000',
    // 左上角logo的图标路径
    logoSrc: 'logo_light2.png',
    // 切换主题按钮的图片路径
    themeSrc: 'qiehuan_light.png',
    // 页面顶部的边框图片
    headerBorderSrc: 'header_border_light.png'
  }
}

export function getThemeValue (themeName) {
  return theme[themeName]
}

2.在目标组件中引入该文件并进行使用:将动态属性(样式)绑定计算属性。


<template>
  <div class='com-container'>
    <span class="iconfont arr-left" @click="toLeft" :style="comStyle">&#xe6ef;</span>
    <span class="iconfont arr-right" @click="toRight" :style="comStyle">&#xe6ed;</span>
  </div>
</template>
<script>
//引入文件
import { getThemeValue } from '@/utils/theme_utils'
export default {
  data () {
    return { },
  created () {
    // 在组件创建完成之后 进行回调函数的注册
    //this.$socket.registerCallBack('hotData', this.getData)  },
  computed: {
    comStyle () {
      return {
        //fontSize: this.titleFontSize + 'px',
       //调用该方法
        color: getThemeValue(this.theme).titleColor
      }
    },
    //仓库中引入的计算属性,
    //...mapState(['theme'])
  },
 
<template>
  <div class="screen-container" :style="containerStyle">
    <header class="screen-header">
      <div>
        <img :src="headerSrc" alt="">
      </div>
      <span class="logo">
        <img :src="logoSrc" alt="" />fullscreen
      </span>
      <span class="title">电商平台实时监控系统</span>
      <div class="title-right">
        <img :src="themeSrc" class="qiehuan" @click="handleChangeTheme">
        <span class="datetime">2049-01-01 00:00:00</span>
      </div>
    </header>
</template>
<script>
import { mapState } from 'vuex'
import { getThemeValue } from '@/utils/theme_utils'
export default {
  created() {
    // 注册接收到数据的回调函数
    //this.$socket.registerCallBack('fullScreen', this.recvData)
    //this.$socket.registerCallBack('themeChange', this.recvThemeChange)
  },
  destroyed() {
    //this.$socket.unRegisterCallBack('fullScreen')
    //this.$socket.unRegisterCallBack('themeChange')
  },
  data() {
    return {
      }
    }
  },
  methods: {
    //recvThemeChange() {
      //this.$store.commit('changeTheme')
   // }
  },
  computed: {
    logoSrc() {
      return '/static/img/' + getThemeValue(this.theme).logoSrc
    },
    headerSrc() {
      return '/static/img/' + getThemeValue(this.theme).headerBorderSrc
    },
    themeSrc() {
      return '/static/img/' + getThemeValue(this.theme).themeSrc
    },
    containerStyle() {
      return {
        backgroundColor: getThemeValue(this.theme).backgroundColor,
        color: getThemeValue(this.theme).titleColor
      }
    },
    //...mapState(['theme'])
  }
}

相关推荐

  1. 端点切换样式/切换主题

    2024-03-12 23:36:06       43 阅读
  2. CSS_scss切换主题

    2024-03-12 23:36:06       28 阅读
  3. Vue 动态加载全局样式css(切换ui主题方案)

    2024-03-12 23:36:06       39 阅读
  4. vue--样式绑定--样式切换方法

    2024-03-12 23:36:06       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 23:36:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 23:36:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 23:36:06       82 阅读
  4. Python语言-面向对象

    2024-03-12 23:36:06       91 阅读

热门阅读

  1. 排列数字(DFS)

    2024-03-12 23:36:06       40 阅读
  2. 大数据入门之hadoop学习

    2024-03-12 23:36:06       43 阅读
  3. Spring神器:Environment环境配置

    2024-03-12 23:36:06       42 阅读
  4. LLM(大语言模型)常用评测指标之F1-Score

    2024-03-12 23:36:06       35 阅读
  5. 蓝桥杯:跑步锻炼

    2024-03-12 23:36:06       41 阅读
  6. Python基础学习(11)常用模块

    2024-03-12 23:36:06       41 阅读
  7. Spring事务管理

    2024-03-12 23:36:06       43 阅读
  8. ARM/Linux嵌入式面经(四):浙江大华

    2024-03-12 23:36:06       41 阅读
  9. web中实现一个账号同一时间只能由一个人使用

    2024-03-12 23:36:06       44 阅读
  10. python学习、开发实用文档分享

    2024-03-12 23:36:06       44 阅读
  11. 【Educoder数据挖掘实训】冗余值的处理

    2024-03-12 23:36:06       35 阅读