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 相关文章推荐
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
Mar 10 Javascript
Extjs学习笔记之三 extjs form更多的表单项
Jan 07 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
Aug 15 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
Dec 20 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 jQuery
微信小程序之数据缓存的实例详解
Sep 29 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
原生JS实现手动轮播图效果实例代码
Nov 22 Javascript
java实现单链表增删改查的实例代码详解
Aug 30 Javascript
解决layer.confirm快速点击会重复触发事件的问题
Sep 23 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查询域名状态whois的类
2006/11/25 PHP
php防盗链的常用方法小结
2010/07/02 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
javascript实用方法总结
2015/02/06 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
python操作mysql代码总结
2018/06/01 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
银行批评与自我批评
2014/02/10 职场文书
十月围城观后感
2015/06/08 职场文书
荒岛余生观后感
2015/06/09 职场文书
同乡会致辞
2015/07/30 职场文书
开学随笔
2015/08/15 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL
mysql中between的边界,范围说明
2021/06/08 MySQL
基于Python实现西西成语接龙小助手
2022/08/05 Golang