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 相关文章推荐
基于Jquery的动态创建DOM元素的代码
Dec 28 Javascript
JS焦点图切换,上下翻转
May 12 Javascript
解析使用JS 清空File控件的路径值
Jul 08 Javascript
一个js过滤空格的小函数
Oct 10 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
Jan 22 Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
vue 使用自定义指令实现表单校验的方法
Aug 28 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
javascript的this关键字详解
May 20 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
vue中关闭eslint的方法分析
2018/08/04 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python将图片转换为字符画的方法
2020/06/16 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
python 格式化输出百分号的方法
2019/01/20 Python
详解Python_shutil模块
2019/03/15 Python
python实现桌面托盘气泡提示
2019/07/29 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
Python通过socketserver处理多个链接
2020/03/18 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
升职自荐信范文
2013/10/05 职场文书
教师专业自荐书范文
2014/02/10 职场文书
违反交通法规检讨书
2014/09/10 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
MySQL优化及索引解析
2022/03/17 MySQL
Python学习之os包使用教程详解
2022/03/21 Python