vue如何根据网站路由判断页面主题色详解


Posted in Javascript onNovember 02, 2018

前言

本文主要介绍的是vue根据网站路由判断页面主题色的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

需求:

不同品牌对应不同版本配色

做法:

根据域名带的参数判断进入哪个品牌,对应哪个版本

在main.js中

import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
import MintUI from 'mint-ui'
import { Indicator } from 'mint-ui'
import { getUrls } from '@/util/utils'
import 'mint-ui/lib/style.css'
import './css/index.css'
Vue.use(MintUI)
//添加请求拦截器 loading
axios.interceptors.request.use(function (config) {
 Indicator.open({
 text: '加载中...',
 spinnerType: 'fading-circle'
 })
 return config
}),function (error) {
 Indicator.close()
 return Promise.reject(error)
}
axios.interceptors.response.use(function (config) {
 Indicator.close()
 return config
}),function (error) {
 return Promise.reject(error)
}
 
Vue.prototype.$http = axios
Vue.prototype.getUrls = getUrls
router.beforeEach((to,from,next) => {
 if (sessionStorage.getItem('basecolor')) {
 document.documentElement.style.setProperty("--color", sessionStorage.getItem('basecolor'))
 next()
 }
})
Vue.config.productionTip = false
 
/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 components: { App },
 template: '<App/>'
})

在util.js中

export function getUrls() {
 let colorValue
 let url = window.location.href
 let urlArr = url.split('?')
 let appU = urlArr[0].split('/')
 let styles = getComputedStyle(document.documentElement)
 if (appU[appU.length-1] === 'login') {
 colorValue = styles.getPropertyValue('--OLAY')
 sessionStorage.setItem('basecolor', colorValue)
 this.$router.push('/login')
 } else if (appU[appU.length-1] === 'resetPassword') {
 colorValue = styles.getPropertyValue('--pampers')
 sessionStorage.setItem('basecolor', colorValue)
 this.$router.push('/login')
 }
}

在App.vue

<template>
 <div id="app">
 <router-view/>
 </div>
</template>
 
<script>
 export default {
 name: 'App',
 created() {
  this.getUrls()
 }
}
</script>
 
<style>
 :root {
 --OLAY: rgb(237,202,138);
 --pampers: rgb(5,183,185);
 --color: #fff;
 }
 #app{
 height: 100%;
 }
</style>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
浅谈Javascript数组的使用
Jul 29 Javascript
详解JavaScript编程中的数组结构
Oct 24 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
node.js中 stream使用教程
Aug 28 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
canvas雪花效果核心代码分享
Feb 19 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
Web技术实现移动监测的介绍
Sep 18 Javascript
vue内置组件transition简单原理图文详解(小结)
Jul 12 Javascript
vue-cli配置flexible过程详解
Jul 04 Javascript
小程序实现列表点赞功能
Nov 02 #Javascript
Vue中的vue-resource示例详解
Nov 02 #Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 #Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 #Javascript
element ui table 增加筛选的方法示例
Nov 02 #Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 #Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 #Javascript
You might like
php学习笔记之面向对象编程
2012/12/29 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
this关键字的作用
2016/01/30 面试题
实习护理工作自我评价
2013/09/25 职场文书
村长贪污检举信
2014/04/04 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL