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实现简单验证码提示解决方案
Dec 20 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
Feb 18 Javascript
js判断ie版本号的简单实现代码
Mar 05 Javascript
domReady的实现案例
Nov 23 Javascript
Vue插件写、用详解(附demo)
Mar 20 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
three.js实现圆柱体
Dec 30 Javascript
VUE写一个简单的表格实例
Aug 06 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
Jun 05 Javascript
vue axios请求成功却进入catch的原因分析
Sep 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
PHP面向对象编程快速入门
2006/10/09 PHP
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
angular 服务随记小结
2019/05/06 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
Python中for循环详解
2014/01/17 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
详解python 注释、变量、类型
2018/08/10 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
北京青年观后感
2015/06/15 职场文书
父母教会我观后感
2015/06/17 职场文书
三好学生竞选稿
2015/11/21 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
理解python中装饰器的作用
2021/07/21 Python
pt-archiver 主键自增
2022/04/26 MySQL