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 相关文章推荐
jQuery html()等方法介绍
Nov 18 Javascript
javascript中方便增删改cookie的一个类
Oct 11 Javascript
javascript屏蔽右键代码
May 15 Javascript
JavaScript获取网页中第一个链接ID的方法
Apr 03 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
Vue中的字符串模板的使用
May 17 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 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
PHP的博客ping服务代码
2012/02/04 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
php教程之phpize使用方法
2014/02/12 PHP
php正则修正符用法实例详解
2016/12/29 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
JS实现购物车特效
2017/02/02 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
Python图像灰度变换及图像数组操作
2016/01/27 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
本科生就业推荐信
2014/05/19 职场文书
节水口号标语
2014/06/19 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
幼儿教师辞职信
2015/02/27 职场文书
会议主持人开场白台词
2015/05/28 职场文书
小学班主任心得体会
2016/01/07 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
Mysql如何查看是否使用到索引
2022/12/24 MySQL