VUE开发:vue-cli中实现响应式布局 - Web前端
作者:98wpeu发布时间:2026-09-07分类:网页前端技术浏览:79
导读:Vue开发:vue-cli中实现响应式布局。我们在进行前端开发中必然会遇到PC与移动端的适配,面对这样的问题有些公司会准备两个页面,移动是移动,pc是PC,而响应式布局就是根据用户...

Vue开发:vue-cli中实现响应式布局。
我们在进行前端开发中必然会遇到PC与移动端的适配,面对这样的问题有些公司会准备两个页面,移动是移动,pc是PC,而响应式布局就是根据用户不同的机型展示不同的页面,废话不多说,直接贴代码
首先我们这个功能是借助vuex实现的,没下载的小伙伴可以先下一个。
yarn add Vuex
既然是响应式布局就要准备两套CSS,一个是PC端的css,一个是移动端的css,我们暂且将PC端的样式称为computer,移动端的样式称为mobile
我们首先要做的就是当前屏幕的宽度。
state: {
screenwidth: document.documentElement.clientWidth,
screenheight: document.documentElement.clientHeight
}这是VUEx的state,我们后续还要实时监控屏幕宽度,所以还需要提供一个改变screenWidth的方法,于是我又写了一mutations。
mutations: {
setWidth (state, value) {
state.screenWidth = value
},
setHeight (state, value) {
state.screenHeight = value
}
}这样我们的Vuex的文件就写好了,而后就是app.vue,我们需要在这个文件下添加一个window.onresize事件实时更新vuex中的screenWidth值,在这里我们使用了辅助函数。
import { mapState, mapMutations } from 'vuex'在mounted钩子函数中添加事件。
mounted () {
window.onresize = () => {
this.setWidth(document.documentElement.clIEntWidth)
}
}这样好比说我们网页中的导航,移动端时我们需要它在底部,PC端时我们需要它在顶部,这样我们就可以在nav.vue这个组件中用watch或computed监听screenWidth的值,这里我们用的是computed。
<ul :class="computedPhone">//根据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'
}
}
}
相关推荐
- 一款由jquery实现的整屏切换特效 - Web前端
- jquery插件推荐 jquery.cookie - Web前端
- jQuery 动态云标签插件 - Web前端
- Jquery实现由下向上展开效果的例子 - Web前端
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子 - Web前端
- Iframe实现跨浏览器自适应高度解决方法 - Web前端
- Jquery模仿Baidu、Google搜索时自动补充搜索结果提示 - Web前端
- jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate) - Web前端
- AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法 - Web前端
- 使用jQuery插件创建常规模态窗口登陆效果 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


