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 相关文章推荐
splice slice区别
Oct 09 Javascript
javascript中通过arguments参数伪装方法重载
Oct 08 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
javascript制作2048游戏
Mar 30 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
Jan 19 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
完美解决input[type=number]无法显示非数字字符的问题
Feb 28 Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 Javascript
Vue中fragment.js使用方法小结
Feb 17 Javascript
vue3为什么要用proxy替代defineProperty
Oct 19 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如何实现App常用的秒发功能
2016/08/03 PHP
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
跟老齐学Python之用Python计算
2014/09/12 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
Python模拟三级菜单效果
2017/09/11 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python学生管理系统学习笔记
2019/03/19 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
受欢迎的大学生自我评价
2013/12/05 职场文书
应届生如何写自荐信
2014/01/05 职场文书
初中音乐教学反思
2014/01/12 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
残疾人小组计划书
2014/04/27 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
MySQL创建管理LIST分区
2022/04/13 MySQL
MySQL GTID复制的具体使用
2022/05/20 MySQL