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类 from qq
Nov 13 Javascript
Date对象格式化函数代码
Jul 17 Javascript
php图像生成函数之间的区别分析
Dec 06 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
简单实现Vue的observer和watcher
Dec 21 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
May 19 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
ES6 let和const定义变量与常量的应用实例分析
Jun 27 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
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
javascript打印输出json实例
2013/11/11 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python XML RPC服务器端和客户端实例
2014/11/22 Python
Python 中的 else详解
2016/04/23 Python
Django如何配置mysql数据库
2018/05/04 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
python读取ini配置文件过程示范
2019/12/23 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
授权委托书样本
2014/04/03 职场文书
大学生简短的自我评价
2014/09/12 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
公司员工培训管理制度
2015/08/04 职场文书