当前位置: 首页 > article >正文

【vue3实现微信小程序】设置项目底部tab页面切换标签

====================
快速跳转:
我的个人博客主页👉:Reuuse博客
新开专栏👉:Vue3专栏
参考文献👉:uniapp官网
免费图标👉:阿里巴巴矢量图标库
❀ 感谢支持!☀
==================

前情提要

🔺从现在开始呢,我们就要开始真正的实现一个完整的项目了!❀❀❀
⭐在实现项目的过程中,会将一些比较重要的点进行讲解,确保基础薄弱的宝子们都能够理解!本次博客的开始也算是为了一边学一边做项目❗
那么话不多说我们开始吧在这里插入图片描述


vue

  • 前情提要
      • 引言
      • 一、pages.json配置
        • 示例:
      • 二、classify.vue组件
        • 示例:
      • 三、样式设计
        • 示例:
      • 四、项目结构理解
      • 五、性能优化
      • 六、用户体验
      • 总结
      • 附录:代码注释

在这里插入图片描述


引言

在uni-app开发中,项目结构的合理设计对于应用的可维护性和扩展性至关重要。本文将通过分析pages.json配置和classify.vue组件的源代码,详细解析uni-app的项目结构和页面布局


一、pages.json配置

  1. tabBar定义tabBar对象用于定义应用的底部导航栏。
  2. 颜色配置colorselectedColor属性定义了导航栏图标的默认和选中状态颜色。
  3. 导航项列表list数组定义了导航栏中的每个导航项。
  4. 导航项属性
    • text:导航项显示的文本。
    • pagePath:导航项对应的页面路径。
    • iconPath:导航项未选中时的图标路径。
    • selectedIconPath:导航项选中时的图标路径。
示例:
"tabBar": {
  "color": "#9799a5",
  "selectedColor": "#28b389",
  "list": [
    {
      "text": "推荐",
      "pagePath": "pages/index/index",
      "iconPath": "static/image/tabBar/home.png",
      "selectedIconPath": "static/image/tabBar/home-h.png"
    }
  ]
}

二、classify.vue组件

  1. 模板结构<template>标签定义了组件的HTML结构。
  2. 视图容器<view>标签用于页面布局,类似于HTML中的<div>
  3. 循环渲染v-for="item in 15"指令用于循环渲染15个<theme-item>组件。
  4. 组件化<theme-item>可能是一个自定义组件,用于展示分类项。
示例:
<template>
  <view class="classLayout">
    <view class="classify">
      <theme-item v-for="item in 15"></theme-item>
    </view>
  </view>
</template>

三、样式设计

  1. 内边距padding属性用于设置元素的内边距。
  2. CSS Grid布局display: grid;grid-template-columns用于创建网格布局。
  3. 网格列定义repeat(3,1fr)表示创建三列等宽的网格。
  4. 网格间隔gap属性用于设置网格项之间的间隔。
  5. 响应式单位rpx单位用于实现响应式布局。
示例:
<style lang="scss" scoped> 
.classify{
  padding: 30rpx;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:15rpx;
}
</style>

四、项目结构理解

  1. 页面配置pages.json是uni-app项目的页面配置文件。
  2. 页面路径pagePath属性指定了页面的路径,用于页面导航。
  3. 资源管理iconPathselectedIconPath指定了静态资源的路径。

五、性能优化

  1. 按需加载:uni-app支持按需加载页面,减少初始加载时间。
  2. 条件渲染:合理使用v-ifv-show指令控制元素的渲染。

六、用户体验

  1. 导航栏设计:清晰的导航栏设计提升用户导航体验。
  2. 视觉反馈:通过颜色变化和图标提供视觉反馈。

总结

通过本文的详细解析,我们深入了解了uni-app中pages.json配置和classify.vue组件的实现过程,包括项目结构、组件化开发、样式设计、性能优化和用户体验等多个方面。每个知识点都通过生动的例子进行了解释


附录:代码注释

// pages.json配置文件,定义了应用的页面和底部导航栏
"tabBar": {
  "color": "#9799a5",
  "selectedColor": "#28b389",
  "list": [
    {
      "text": "推荐",
      "pagePath": "pages/index/index",
      "iconPath": "static/image/tabBar/home.png",
      "selectedIconPath": "static/image/tabBar/home-h.png"
    }
  ]
}
<!-- classify.vue组件模板,用于展示分类页面 -->
<template>
  <view class="classLayout">
    <view class="classify">
      <theme-item v-for="item in 15"></theme-item>
    </view>
  </view>
</template>
// classify.vue组件样式,使用CSS Grid布局展示分类项
<style lang="scss" scoped> 
.classify{
  padding: 30rpx;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:15rpx;
}
</style>

请注意,<theme-item>组件需要在项目中定义,或者作为第三方组件引入。此外,pages.json中的pagePath应确保路径正确,以便正确导航到对应的页面。


🌼那么今天就到这里吧!
▲后续会陆续跟新vue系列。再后来会逐渐成熟,向大家展现更简洁明了的知识汇总!

一个小小的赞是对我最大的鼓励!
感谢你们看到这里,下次见~
在这里插入图片描述


http://www.kler.cn/a/416459.html

相关文章:

  • baomidou Mabatis plus引入异常
  • 根据导数的定义计算导函数
  • 【算法day4】链表:应用拓展与快慢指针
  • ChatGPT 网络安全秘籍(二)
  • redis中的bigkey及读取优化
  • Ubuntu源码安装gitlab13.7集群多前端《二》
  • 计算机网络——不同版本的 HTTP 协议
  • Webpack 的构建流程
  • 分布式储能监控系统为储能电站高效运维与精细化管理赋能
  • Vue 3 的双向绑定原理
  • go结构体匿名“继承“方法冲突时继承优先顺序
  • doris避坑之端口冲突
  • uniapp在小程序连接webScoket实现余额支付
  • LED室内显示屏的性能优化分析和电压管理
  • 外卖商城平台的微信小程序ssm+论文源码调试讲解
  • Nvidia 推出最新 AI 音频模型,可制作前所未有的声音
  • Hive元数据表解析
  • dbeaver如何批量执行sql脚本
  • 像素流送api ue多人访问需要什么显卡服务器
  • 【Python】Selenium模拟在输入框里,一个字一个字地输入文字
  • Ubuntu中的apt update 和 apt upgrade
  • 基于@ohos/axios深入学习HarmonyOS Next的网络数据请求
  • Cookie跨域
  • uniapp H5支付宝支付
  • 编译faiss的C++ API
  • 什么是撞库、拖库和洗库?