Vue手机端导航栏:选中状态刷新保持与自适应代码示例
版权申诉
5星 · 超过95%的资源 55 浏览量
更新于2024-09-11
收藏 115KB PDF 举报
在Vue项目中实现一个具有选中状态刷新不消失的底部导航栏,是一个常见的需求,尤其是在移动端开发中。本文将分享一种实用的方法,确保导航栏在页面刷新后仍保持选中状态。
首先,你需要将UI提供的一系列选中和未选中状态的图片,如“首页@2x.png”、“首页_active@2x.png”等,放置在项目结构中的`src/assets`目录下,并自动进行base64编码,以便在运行时通过相对路径访问。这有助于简化资源引用,避免直接写字符串路径导致的显示问题和打包后的路径问题。
在Vue组件的`data()`函数中,定义一个名为`isSelect`的变量来跟踪当前选中的导航项,以及一个`nav`数组,用于存储每个导航条的标题、链接URL(普通状态和选中状态的图片地址)。这里采用了`require`函数,这是Webpack在Vue项目中的常见用法,用来动态导入并处理图片资源,确保它们在打包后的应用中正确加载。
例如:
```javascript
data() {
return {
isSelect: '首页',
nav: [
{ title: '首页', url: require('../../assets/common/首页@2x.png'), url_one: require('../../assets/common/首页_active@2x.png') },
// 其他导航条项...
]
}
}
```
在HTML模板部分,通过`v-for`指令遍历`nav`数组,为每个`<li>`元素添加点击事件,当点击时调用`selectNav`方法,传入当前标题作为参数:
```html
<ul>
<li v-for="(item, index) in nav" @click="selectNav(item.title)">
<img :src="item.isSelect === item.title ? item.url_one : item.url" />
</li>
</ul>
```
在`selectNav`方法中,判断当前点击的标题与`isSelect`是否匹配,切换`isSelect`的值,并相应更新`<img>`标签的`src`属性,从而实现选中状态的切换。这样,即使页面刷新,只要用户点击相同的导航项,`isSelect`的状态会保持,对应的图片也会显示为选中状态。
此外,如果公司有特殊要求,可能还需要考虑使用`fontsize`或其他CSS样式调整字体大小以适应不同屏幕尺寸。这种实现方式灵活且可维护,适合在Vue项目中构建响应式且具有良好用户体验的底部导航栏。
2021-01-19 上传
2020-08-28 上传
点击了解资源详情
2023-05-30 上传
2023-05-30 上传
2023-11-22 上传
2023-06-13 上传
2023-06-06 上传
weixin_38666230
- 粉丝: 6
- 资源: 961
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦