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 相关文章推荐
require.js的用法详解
Oct 20 Javascript
jquery ztree异步搜索(搜叶子)实践
Feb 25 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 Javascript
深入理解JavaScript中的尾调用(Tail Call)
Feb 07 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
vue多页面开发和打包正确处理方法
Apr 20 Javascript
用vue快速开发app的脚手架工具
Jun 11 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 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邮件类
2007/01/03 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php日期操作技巧小结
2016/06/25 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
wordpress之js库集合研究介绍
2007/08/17 Javascript
页面中iframe相互传值传参
2009/12/13 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python类属性的延迟计算
2016/10/22 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
python async with和async for的使用
2019/06/20 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
公司奖励通知
2015/04/21 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL