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

server/2024/11/28 6:31:59/

====================
快速跳转:
我的个人博客主页👉: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.ppmy.cn/server/145549.html

相关文章

PG使用 INHERITS 创建的子表注意事项

在 PostgreSQL 中&#xff0c;使用 INHERITS 创建的子表对主表的更改行为如下&#xff1a; 1. 新增字段 行为&#xff1a;子表会自动继承主表新增的字段。 示例&#xff1a; CREATE TABLE parent_table (id SERIAL PRIMARY KEY, name TEXT); CREATE TABLE child_table () INHE…

Kubeadm 安装 Kubernetes 高可用集群 v1.30.0

1、修改主机名&#xff08;各个节点&#xff09; hostnamectl set-hostname xxx2、hosts 文件加入主机名&#xff08;全部节点&#xff09; cat /etc/hosts 192.168.88.5 master1 192.168.88.6 master2 192.168.88.7 master3 192.168.88.8 node13、关闭防火墙&#xff08;全部…

英语知识网站:Spring Boot技术构建

6系统测试 6.1概念和意义 测试的定义&#xff1a;程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为&#xff1a; 目的&#xff1a;发现程序的错误&#xff1b; 任务&#xff1a;通过在计算机上执行程序&#xff0c;暴露程序中潜在的错误。 另一个…

Fastadmin系统配置增加配置字段类型

项目有一个上传APK安装包文件的需求&#xff0c;使用框架自带的 ‘文件’ 类型&#xff0c;每次都是不同路径不同文件名。希望保持固定路径和文件名所以就自己写加了一个类型&#xff0c;需要修改的地方如下&#xff1a; 1. app\common\model\Config.php 在 getTypeList 方法中…

使用R语言绘制简单地图的教程

今天主要讲的部分是绘制静态地图&#xff0c;使用的R语言绘图包是tmap&#xff0c;关于介绍就不多讲&#xff0c;下面开始代码的讲解&#xff0c;小白也可以放心食用。 1、绘制简单的单幅地图&#xff0c;这里以新西兰地区为例 #导入必要的包 library(tmap) library(sp) libr…

Android 11 三方应用监听关机广播ACTION_SHUTDOWN

前言 最近有项目过程中&#xff0c;有做app的同事反馈&#xff0c;三方应用无法监听关机广播。特地研究了下关机广播为啥监听不到。 1.原因&#xff1a;发送关机广播的类是ShutdownThread.java&#xff0c;添加了flag:Intent.FLAG_RECEIVER_FOREGROUND | Intent.FLAG_RECEIVER…

spring boot框架漏洞复现

spring - java开源框架有五种 Spring MVC、SpringBoot、SpringFramework、SpringSecurity、SpringCloud spring boot版本 版本1: 直接就在根下 / 版本2:根下的必须目录 /actuator/ 端口:9093 spring boot搭建 1:直接下载源码打包 2:运行编译好的jar包:actuator-testb…

Testbench仿真脚本编写指北

[!note] 由于 Quartus 的 VWF 仿真只能仿真很短的时间&#xff0c;而且 Vivado 仿真的时候也需要添加激励信号&#xff0c;因此需要编写 testbench 文件进行激励仿真。 Testbench 文件结构 编写 testbench 的目的是为了测试 module 的功能、性能是否符合设计的预期。验证设计的…