vue+iview+less 实现换肤功能


Posted in Javascript onAugust 17, 2018

项目搭建用的vue—cli,css框架选择的iview

1、首先安装less支持

npm install --save-dev less-loader less

然后去build文件夹下的webpack.base.conf.js文件中,添加对.less的支持

vue+iview+less 实现换肤功能

2、准备工作做好了,开始换肤

2.1新建一个文件夹styles,在里面新建一个文件theme.less

定义一个.theme()方法,写上需要的颜色参数如图:

vue+iview+less 实现换肤功能

2.2 styles文件夹下再新建一个存放各类主题的color.less文件,里面根据自己需求定义各类主题,记得把theme.less文件引入

@import url('./theme.less');
  .theme1{
    .theme();//默认的样式
  }
  .theme2{
    .theme(rgb(141, 139, 219),#fff,#eee,rgb(130, 126, 240));
  }
  .theme3{
    .theme(rgb(172, 214, 200),#615f5f,#fff,rgb(91, 139, 123));
  }

   2.3 在main.js中引入color.less文件

import './styles/color.less'

2.4 在进行主题选择的.vue文件中,进行如下操作

<Dropdown>
    <a href="javascript:void(0)" rel="external nofollow" >
      下拉菜单
      <Icon type="arrow-down-b"></Icon>
    </a>
    <DropdownMenu slot="list">
      <DropdownItem @click.native="changeColor(1)">摇滚主题</DropdownItem>
      <DropdownItem @click.native="changeColor(2)">新时代主题</DropdownItem>
      <DropdownItem @click.native="changeColor(3)">基础主题</DropdownItem>
    </DropdownMenu>
  </Dropdown>
   //更换主题
   changeColor(num){
    //把className theme1,theme2,theme3挂载在app.vue的<div id="app"></div>上
    document.getElementById('app').className ='theme'+num ;
    this.localStorageDate()
   },
   //存储localStoarge,用于进入系统时,记住用户上一次的选择,自动加载用户上一次选择的主题主题,记得在mounted()里面调用
   localStorageDate(){
    localStorage.setItem('app',document.getElementById('app').className)
   }

总结

以上所述是小编给大家介绍的vue+iview+less 实现换肤功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
jQuery提交多个表单的小例子
Jun 30 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
Jan 05 Javascript
Jquery获取当前城市的天气信息
Aug 05 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
javascript中关于类型判断的一些疑惑小结
Oct 14 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 Javascript
浅谈layui分页控件field参数接收对象的问题
Sep 20 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
jquery实现的简单轮播图功能【适合新手】
Aug 17 #jQuery
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
Aug 17 #Javascript
vue实现element-ui对话框可拖拽功能
Aug 17 #Javascript
原生JS实现的简单轮播图功能【适合新手】
Aug 17 #Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 #Javascript
LayerClose弹窗关闭刷新方法
Aug 17 #Javascript
详解vue移动端项目的适配(以mint-ui为例)
Aug 17 #Javascript
You might like
PHP4实际应用经验篇(2)
2006/10/09 PHP
php date()日期时间函数详解
2010/05/16 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python实现提取文章摘要的方法
2015/04/21 Python
Python 常用string函数详解
2016/05/30 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
python正则表达式实例代码
2020/03/03 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python 爬虫的原理
2020/07/30 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
大学生实习自我鉴定
2013/12/11 职场文书
师范生自我鉴定
2014/03/20 职场文书
代理协议书
2014/04/22 职场文书
防沙治沙典型材料
2014/05/07 职场文书
环保标语口号
2014/06/13 职场文书
初三化学教学反思
2016/02/22 职场文书
60句有关成长的名言
2019/09/04 职场文书