当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue+iview+less 实现换肤功能

vue+iview+less 实现换肤功能

2018年09月23日  | 移动技术网IT编程  | 我要评论

钓鱼太郎,u9400,亿知网

项目搭建用的vue—cli,css框架选择的iview

1、首先安装less支持

npm install --save-dev less-loader less

然后去build文件夹下的webpack.base.conf.js文件中,添加对.less的支持

2、准备工作做好了,开始换肤

2.1新建一个文件夹styles,在里面新建一个文件theme.less

定义一个.theme()方法,写上需要的颜色参数如图:

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 实现换肤功能,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网