您好,登錄后才能下訂單哦!
這篇文章主要介紹了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>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue實現根據網站路由判斷頁面主題色的示例”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。