vue-cli中實現(xiàn)響應式布局的方法
我們在進行前端開發(fā)中必然會遇到PC與移動端的適配,面對這樣的問題有些公司會準備兩個頁面,移動是移動,PC是PC,而響應式布局就是根據(jù)用戶不同的機型展示不同的頁面,廢話不多說,直接貼代碼
首先我們這個功能是借助vuex實現(xiàn)的,沒下載的小伙伴可以先下一個
yarn add vuex
既然是響應式布局就要準備兩套css,一個是PC端的css,一個是移動端的css,我們暫且將PC端的樣式稱為computer,移動端的樣式稱為mobile
我們首先要做的就是當前屏幕的寬度
state: { screenWidth: document.documentElement.clientWidth, screenHeight: document.documentElement.clientHeight }
這是vuex的state,我們后續(xù)還要實時監(jiān)控屏幕寬度,所以還需要提供一個改變screenWidth的方法,于是我又寫了一mutations
mutations: { setWidth (state, value) { state.screenWidth = value }, setHeight (state, value) { state.screenHeight = value } }
這樣我們的vuex的文件就寫好了,而后就是APP.vue,我們需要在這個文件下添加一個window.onresize事件實時更新vuex中的screenWidth值,在這里我們使用了輔助函數(shù)
import { mapState, mapMutations } from 'vuex'
在mounted鉤子函數(shù)中添加事件
mounted () { window.onresize = () => { this.setWidth(document.documentElement.clientWidth) } }
這樣好比說我們網(wǎng)頁中的導航,移動端時我們需要它在底部,PC端時我們需要它在頂部,這樣我們就可以在nav.vue這個組件中用watch或computed監(jiān)聽screenWidth的值,這里我們用的是computed
<ul :class="computedPhone">//根據(jù)screenWidth提供不同的class名 <router-link to='/file' tag="li" active-class="active">電影</router-link> <router-link to='/cinma' tag="li" active-class="active">影院</router-link> <router-link to='/center' tag="li" active-class="active">個人中心</router-link> </ul>
computed: { ...mapState('stylesheet', ['screenWidth']), computedPhone () { if (this.screenWidth < 1024) { return 'mobile' } else { return 'computer' } } }
這樣只要寫好兩套css就可以實現(xiàn)響應式布局了
到此這篇關于vue-cli中實現(xiàn)響應式布局的方法的文章就介紹到這了,更多相關vue-cli 響應式布局內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue v-viewer組件使用示例詳解(v-viewer輪播圖)
這篇文章主要介紹了vue v-viewer組件使用示例詳解(v-viewer輪播圖),本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02vue-router+vuex addRoutes實現(xiàn)路由動態(tài)加載及菜單動態(tài)加載
本篇文章主要介紹了vue-router+vuex addRoutes實現(xiàn)路由動態(tài)加載及菜單動態(tài)加載,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09Vue3+Vite如何解決“找不到模塊“@/components/xxx.vue”或其相應的類型聲明ts(2307)”
在Vue項目中使用Vite時,可能因版本差異而需修改tsconfig.app.json而非tsconfig.json以解決編譯錯誤,本文分享個人解決經(jīng)驗,供參考2024-10-10VUE DEMO之模擬登錄個人中心頁面之間數(shù)據(jù)傳值實例
今天小編就為大家分享一篇VUE DEMO之模擬登錄個人中心頁面之間數(shù)據(jù)傳值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10vue使用vue-json-viewer展示JSON數(shù)據(jù)的詳細步驟
最近在開發(fā)一個公司的投放管理系統(tǒng)的操作日志模塊,要查看某條操作日志的請求參數(shù),要將請求的參數(shù)以JSON格式的形式展示出來,下面這篇文章主要給大家介紹了vue使用vue-json-viewer展示JSON數(shù)據(jù)的相關資料,需要的朋友可以參考下2022-09-09