vue項目同時兼容pc和移動端的解決方式
介紹:
公司要求vue開發(fā)的項目,既有移動端又有pc端,但是移動端和pc端展示的內容不一樣,同一個組件樣式也不一樣,移動端展示內容比pc端少,那這個時候在一個項目種怎么做的?
解決方式:
路由寫兩份,一份移動端的,一份pc端的,這兩份路由地址相同,對應的組件不同,在路由的入口文件里去判斷渲染pc的路由還是移動端的路由
import Vue from 'vue'; import Router from 'vue-router'; import { routerM } from './routerM'; import { routerPC } from './routerPC'; Vue.use(Router); // 是否為手機端 const ISMOBILE = function () { let flag = navigator.userAgent.match( /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i ); return flag; }; // 創(chuàng)建路由實例 const router = new Router({ mode: 'history', base: process.env.BASE_URL, fallback: false, // 這里判斷后選擇使用移動端的路由還是pc端的路由 routes: ISMOBILE() ? routerM : routerPC, }); export default router;
router下routerM.js和routrPC.js代碼:
// routerPC.js import Layout from '@/layout' export const routerPC = [ { path: '/login', component: () => import('@/views/pc/login/index'), hidden: true }, ]
// routerM.js export const routerM = [ { path: '/login', component: () => import('@/views/mobile/login/index.vue'), hidden: true }, ]
可以看出是寫了兩份組件,導入組件時文件路徑只有pc和mobile兩個單詞的區(qū)別。
拓展
同樣的,當樣式需要寫兩份的時候,也可以在main.js中按需引入
// 是否為手機端 const flag = navigator.userAgent.match( /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i ); // PC端和移動端的公共樣式 import '@public/css/common.less'; // 移動端引入公共樣式 if (flag) { require('@/assets/css/mobileCommon.less'); }
總結
到此這篇關于vue項目同時兼容pc和移動端的解決方式的文章就介紹到這了,更多相關vue同時兼容pc和移動端內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue使用WEB自帶TTS實現(xiàn)語音文字互轉的操作方法
這篇文章主要介紹了vue使用WEB自帶TTS實現(xiàn)語音文字互轉,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01在vue中獲取token,并將token寫進header的方法
今天小編就為大家分享一篇在vue中獲取token,并將token寫進header的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue.js頁面加載執(zhí)行created,mounted的先后順序說明
這篇文章主要介紹了vue.js頁面加載執(zhí)行created,mounted的先后順序說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Element?Plus組件Form表單Table表格二次封裝的完整過程
一般在后臺管理系統(tǒng)的開發(fā)中,都會遇到很多table,但每一次都去引入el-table就會導致代碼十分冗余,所以基于組件做一下二次封裝成自己需要的組件就十分nice,下面這篇文章主要給大家介紹了關于Element?Plus組件Form表單Table表格二次封裝的相關資料,需要的朋友可以參考下2022-09-09