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 相关文章推荐
datePicker——日期选择控件(with jquery)
Feb 20 Javascript
Javascript valueOf 使用方法
Dec 28 Javascript
js实现div在页面拖动效果
May 04 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
Vuex简单入门
Apr 19 Javascript
使用OPENLAYERS3实现点选的方法
Sep 24 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 Javascript
Vue项目分环境打包的实现步骤
Apr 02 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
教你使用vue-cli快速构建的小说阅读器
May 13 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 删除cookie和浏览器重定向
2009/03/16 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
php写app用的框架整理
2019/09/29 PHP
javascript add event remove event
2008/04/07 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
MySQL最常见的操作语句小结
2015/05/07 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
Python程序暂停的正常处理方法
2019/11/07 Python
python支持多继承吗
2020/06/19 Python
Python内置函数property()如何使用
2020/09/01 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
年度评优评先方案
2014/06/03 职场文书
户外亲子活动总结
2015/05/08 职场文书
合理化建议书范文
2015/09/14 职场文书