關(guān)于vue.js如何根據(jù)網(wǎng)站路由判斷頁(yè)面主題色教程詳解
文章主要給大家介紹了關(guān)于vue如何根據(jù)網(wǎng)站路由判斷頁(yè)面主題色的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,...
本文主要介紹的是vue根據(jù)網(wǎng)站路由判斷頁(yè)面主題色的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說了,來(lái)一起看看詳細(xì)的介紹吧

需求:
不同品牌對(duì)應(yīng)不同版本配色
做法:
根據(jù)域名帶的參數(shù)判斷進(jìn)入哪個(gè)品牌,對(duì)應(yīng)哪個(gè)版本
在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)
- //添加請(qǐng)求攔截器 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- >
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值。
- 
		無(wú)相關(guān)信息		
			分享到:
			
			
		
		
			投訴收藏
		
	
