vue vue-cli 应用 实现换肤功能 主题切换_DemaxiyaNuoke的博客-程序员秘密

技术标签: vue-cli  vue  vue主题  

业务需求:根据不同的"标识" 加载应用时 自动更换主题

需要的东西:vue-cli 全家桶 主要(vuex,vue-router),less ,webpack,两套同样目录结构的主题静态资源(css,图片)

最终效果

主题1:                              

               

主题2:

   




具体实现:

                一、把所需要改变主题的vue组件中的style全部提出来 按照目录结构 提取到static中,用less内联写法防止样式冲突。


            可以看到有001和002两个文件夹(两套主题),那就是可以随意改写样式less,每个主题还都有一个img文件夹,作为替换项目中的图片。


            二、现在项目中是没有样式的了,需要利用vue的一个混合功能mixin来实现,利用require去动态的给每个需要的组件渲染css和img

 1)利用接口和本地缓存先判断一下现在应该加载那一套主题。

 

2)然后写2个获取less和img的方法,temlates是vuex的一个state


3)在vue组件中,动态的获取



以上 开发环境就ok了,现在解决生产模式的问题:

        一、webpack run build以后 会把001,002的less打包成一个大的css,会造成样式冲突,我们要在webpack的webpack.prod.conf.js中设置一下,把extract改成false即可,会发现那个css文件从几百k,变成几十k,样式就不会冲突了。


        二、如果采用 通过url来获取标识的,会出现刷新和分享后,链接失效的问题,那么就还需要一步,利用vuerouter的守卫方法,每次切换页面的时候,把标识当做参数带上。




        三、当页面带有参数的时候,底部采用router-link-exact-active和router-link-active 都会出问题,

            exact无法精准匹配路由, routerlinkactive会重复出现因为,子页面的路由为"/"被匹配到了,解决方式为,修改子页面的默认页面为重定向。



至此已全部完成了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35319282/article/details/79483931

智能推荐

ssh框架的结构_ssh框架是b/s架构吗_lilei0015的博客-程序员秘密

一個spring2.5+hibernate3.2+struts2.0的組合框架,使用spring的IoC來管理應用的所有bean,包括struts2的action,充分發揮了spring輕量級框架的優勢。 Java代码 "1.0" encoding="utf-8"?>   "WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2e

ubuntu18.04安装cuda和cudnn(资源快速下载)_白小心的博客-程序员秘密

ubuntu18.04安装cuda和cudnn交大网盘下载安装方法交大网盘下载nvidia官网最近下载速度几十Kb/s,太难了。使用交大云盘能达到5-10Mb/scuda10.2 + cudnnv7.6.5 (ubuntu18.04_x86_64)下载:wget -c -O cuda10.2-cudnn7.6.4-ubuntu1804_x86_64.zip https://jbox.sjtu.edu.cn:10081/v2/delivery/data/6910ab8ab001466a87730f0

金蝶显示加密服务器未正常启动是什么情况,金蝶云平台加密服务器未启动_扒婆的博客-程序员秘密

金蝶云平台加密服务器未启动 内容精选换一换外部镜像文件在从原平台导出前,没有按照“Windows操作系统的镜像文件限制”的要求完成初始化操作,推荐您使用弹性云服务器完成相关配置。流程如图1所示。云服务器的正常运行依赖于XEN Guest OS driver(PV driver)和KVM Guest OS driver(UVP VMTools),未安装会对云服务器运行时的性能产生影外部镜像文件在从原...

软件测试——构造等价类测试用例_Dic0k的博客-程序员秘密

软件测试——构造等价类测试用例16340132 梁颖霖 软件工程(计算机应用方向)问题构造下述三角形问题的弱健壮的等价类测试用例。三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰不等边三角形、完全不等边三角形还是不能构成三角形。解答弱健壮等价类测试用例覆盖——针对单缺陷,覆盖有效等价类和无效等价类根据题目意思,我们可以划分成以下四个等价类表示...

kinetics-skeleton格式行为数据提取方法_utils.openpose.json_pack_青年夏日科技工作者的博客-程序员秘密

之后就是把提取得到的骨骼点数据的json文件做一下整理,按照上面图中的kinetics-skeleton数据集的格式。主要需要注意的是,记得修改读取的行为类别的标签文件名,以及修改对应的yaml配置文件中模型名称和类别数量等参数。这一步主要的目的是把自己的视频数据集创建成kinetics-skeleton数据集一样的格式,格式大致如下图。首先就是按照类别,把自己的视频分门别类,放在不同的文件夹下,然后主要通过两个脚本来提取数据。这一部分可以参考如下所示的博文中的 第三------第六 部分。

【VMvare】无法将 Ethernet0 连接到虚拟网络"VMnet8" ,无法上网,解决方案_不能打开vment8_莫问当年事的博客-程序员秘密

本人VMvare安装的是绿色版,卸载后重装,然后虚拟机不能上网,出现的这个提示!1.打开VMvare—编辑—虚拟网络编辑器,查看VMnet8是否启用或空白!2.选择还原默认设置,重启虚拟机,End如果还是不能上网请查看服务是否开户1.开始(Win键+R)— 输入 services.msc — 回车,2.查看里面VM开头的所有服务,如果是“禁用”,右键—属性—启动类型“自动”—确定...

随便推点

LCD---显示汉字函数_lcd_writeindex(0x2b); lcd_writedata(0x00); lcd_wri_西皮南子的博客-程序员秘密

先使用PCtoLCD2002软件生成字模,设置如下:将数据存放以下格式:typedef struct{ unsigned char Index[2]; char Msk[32];}typFNT_GB162;const typFNT_GB162 hz16[] = {"针",0x00,0x00,0x00,0x00,0x04,0x30,0x08,0x20,0x0F,0x20,0x10,0x20,0x16,0x2E,0x29,0xF0,0x4A...

uboot移植(十七)实现 LCD 显示_uboot lcd_LouisGou的博客-程序员秘密

arch/arm/lib/board.c 中的 board_init_f 函数 如果定义了 CONFIG_LCD,就会调用了 lcd_setmem 函数,这个函数用来分配帧缓存地址, 其定义在common/lcd.c         这个函数调用了 panel_info 变量,这个变量在每个具体的 lcd 驱动中定义,定义了具体 LCD 的相关信息,比如这里通过 debug 打印了它的成员变量:...

LCD显示问题_lcd_showhexnun是什么意思_weixin_42139819的博客-程序员秘密

int main(void) { double d; char str[] = “123.456”; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); delay_init(168); uart_init(115200); LED_Init(); LCD_Init(); ...

金蝶显示服务器不是有效,金蝶 服务器不是有效的 请重新设置_lirumei的博客-程序员秘密

金蝶 服务器不是有效的 请重新设置 内容精选换一换Web服务端证书用于客户端浏览器和web服务器之间的通讯,实现数据信息在客户端和web服务器之间的加密传输,可以防止数据信息的泄露。为提高安全性,建议替换成自己的证书,并及时更新证书,保证证书的有效性。已成功登录鲲鹏代码迁移工具。只有管理员(portadmin)可以执行生成CSR文件、导入web服务器证书、下载根证书,重启和更换工作密钥的根据本地历...

推荐文章

热门文章

相关标签