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 相关文章推荐
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
Apr 20 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
Angular4如何自定义首屏的加载动画详解
Jul 26 Javascript
JS实现在线ps功能详解
Jul 31 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
Nov 01 Javascript
js实现全选和全不选
Jul 28 Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 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
Code:findPosX 和 findPosY
2006/12/20 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
js常用代码段整理
2011/11/30 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
让Python代码更快运行的5种方法
2015/06/21 Python
python与字符编码问题
2019/05/24 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
党员的自我评价范文
2014/01/02 职场文书
给老婆的搞笑检讨书
2014/01/12 职场文书
招聘单位介绍信
2014/01/14 职场文书
教师绩效考核方案
2014/01/21 职场文书
八一慰问活动方案
2014/02/07 职场文书
表演方阵解说词
2014/02/08 职场文书
转让协议书范本
2014/04/15 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
护士业务学习心得体会
2016/01/25 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
总结Python变量的相关知识
2021/06/28 Python