Uniapp+Vue3 使用父传子方法实现自定义tabBar

一、流程介绍

代码编写顺序

  • 第一步:pages.json配置tabbar并配置custom配置项
  • 第二步:编写自定义tabbar组件的静态代码(最好使用v-for去写,仿照原生tabbar逻辑)
  • 第三步:各tabbar页面调用tabbar组件,并传入tabbar索引值
  • 第四步:tabbar组件接受传入的值,通过传入索引值判断高亮对象,点击另外的tabbar图标时跳转到相应页面

页面执行顺序

  • 第一步:跳转到新的tabbar页面,该组件中的数据重置
  • 第二步:tabbar页面向组件传入索引并保存在currentIndex中
  • 第三步:v-show判断相应tabbar图标高亮
  • 第四步:点击新的tabbar,执行handleItemClick操作,跳转到新的tabbar页面(回到第一步)

二、代码

在page.json中定义tabbar

在page.json中定义tabbar并将custom设置为true

启用自定义tabbar的配置,可以将默认的tabbar隐藏

仍然使用uniapp默认的tabbar定义方式是为了防止跳转过程中页面栈无限增长

// 用户操作路径: 学习页 → navigateTo 情绪页 → navigateTo 研友页 // 页面栈:[学习, 情绪, 研友] ← 越来越长! // 用户连续点击tab 10次: // 页面栈会有10个页面!内存占用高,容易崩溃 
在这里插入图片描述

创建自定义tabbar组件

创建一个tabBarList数组(与page.json中tabBar中的list相同的结构),然后使用v-for去写更好。
本案例中选中状态是为图标加上高亮色块,且各个tabbar图标宽高都不相同,所以并没有采用这种写法

<scriptsetup>import{ref}from"vue"const tabBarList =ref([{"pagePath":"pages/study/study","text":"学习"},{"pagePath":"pages/mood/mood","text":"情绪"},{"pagePath":"pages/friend/friend","text":"研友"},{"pagePath":"pages/AI/AI","text":"芯研"},{"pagePath":"pages/my/my","text":"我的"}])</script><template><viewclass="container"><viewclass="item"@click="handleItemClick(0)"><imagesrc="@/static/tabBar/学习.png"style="width: 62rpx;height: 52rpx;z-index:9999;"/><view>学习</view><viewclass="circle"></view></view> ... </view></template><stylelang="scss"scoped>.container{width:100%;position:fixed !important;bottom: 0rpx;display:flex;justify-content: space-evenly;padding-bottom:40rpx;padding-top:20rpx;background-color: white;z-index: 99999;.item{display:flex;flex-direction: column;gap:10rpx;align-items: center;width: 50rpx;font-size: 19rpx;font-weight: 500;position:relative;.circle{position:absolute;top:-10rpx;left:10rpx;width: 50rpx;height: 50rpx;background:rgba(255, 219, 217, 0.54);border-radius: 50%;}}}</style>

在tabbar页面中使用组件

在tabbar页面中使用组件,并传入页面索引

在这里插入图片描述


在这里插入图片描述

接受传入数据以及选中后高亮、跳转

<scriptsetup>import{ref}from"vue"const props =defineProps({currentIndex:Number }) 跳转相应的tabbar页面 consthandleItemClick=(index)=>{ uni.switchTab({url:'/'+ tabBarList.value[index].pagePath })}const tabBarList =...])</script><template><viewclass="container"><viewclass="item"@click="handleItemClick(0)"><imagesrc="@/static/tabBar/学习.png"style="width: 62rpx;height: 52rpx;z-index:9999;"/><view>学习</view> 展示高亮色块 <viewclass="circle"v-show="props.currentIndex === 0"></view></view> ... </view></template>

Read more

NSP 新范式实战:AI 世界模型构建与物理规律建模指南

NSP 新范式实战:AI 世界模型构建与物理规律建模指南

✨道路是曲折的,前途是光明的! 📝 专注C/C++、Linux编程与人工智能领域,分享学习笔记! 🌟 感谢各位小伙伴的长期陪伴与支持,欢迎文末添加好友一起交流! * 目录 * 1. 引言:超越“统计相关性”的世界模型 * 2. 核心概念:为什么世界模型需要符号? * NSP vs. 纯数据驱动 (Pure Neural) * 3. 架构设计:神经感知与符号推理的闭环 * 4. 流程图说明:NSP 世界模型闭环 * 5. 代码实现:构建物理约束的世界模型 * 代码块 1:定义可微分的物理约束损失 (Python + PyTorch) * 代码块 2:符号系统联合推理 (Python + SymPy) * 6. 实战案例:机器人推物与摩擦力适应 * 场景描述 * NSP 的优势展现 * 7. 挑战与展望

重塑数学边界:人工智能如何引领数学研究的新纪元

重塑数学边界:人工智能如何引领数学研究的新纪元

目录 一、人工智能如何重新定义数学研究的边界 (一)数学与AI的关系:从基础理论到创新思维的回馈 (二)AI的创造力:突破传统推理的局限 (三)AI对数学研究的潜在贡献:创新的催化剂 二、AI 与数学的碰撞:从传统到生成式AI的进化 (一)传统人工智能:符号推理与规则系统 (二)机器学习:从数据驱动到模式识别 (三)生成式AI:数学创新的新时代 (四)生成式AI在数学中的创造性潜力 三、人机共证:AI 参与数学证明的前沿探索 (一)初衷与基础工具:从手工推理到机器验证的演进之路 (二)自动化形式证明生成:AI 在严谨推理中的新进展 1. 关键特点:AI 证明系统三要素 1.1 早期探索者:RNN、搜索与强化学习的结合 1.2 向交互式智能迈进:

干掉 Claude Code,这个开源 AI 编程工具杀疯了?

干掉 Claude Code,这个开源 AI 编程工具杀疯了?

大家好,我是程序员鱼皮。 Claude Code 一直是大家公认的 AI 编程命令行工具 Top 1,在 AI 和程序员圈子里几乎是神一般的存在。 但是,这狗玩意儿对中国用户可不太友好…… 首先,如果你想要使用 Claude Code,就必须要有特殊的网络 + 官方账号,否则就会看到一片红。 此外,2025 年 9 月,Anthropic 公司不知道抽什么风,突然宣布 全面禁止中国控股企业使用 Claude 服务,不仅包括中国大陆企业,连海外中资控股超过 50% 的公司都在封禁范围内! 甚至 Anthropic 还特别点名了中国,把咱们称为 敌对国家! 天下苦 Claude Code 久矣! 但是最近我身边很多程序员朋友开始从 Claude Code 转向了另一个工具,正是突然大火的开源项目

Topaz Video AI v7.1.1_Win中文_视频修复_汉化便携版安装教程

Topaz Video AI v7.1.1_Win中文_视频修复_汉化便携版安装教程

软件下载 【名称】:****人工智能视频画质增强和修复软件Topaz Video AI v7.1.1 【大小】:****245M 【语言】:简体中文 【安装环境】:Win10/Win11 【夸克网盘下载链接】(务必手机注册): 夸克 【网站下载链接】: 其他网盘 软件介绍 Topaz Video AI(曾用名:Topaz Vide Enhance AI)是一款运用了AI人工智能技术的视频修复增强软件,使用神经网络进行训练的,该神经网络分析成千上万对视频,以了解通常如何丢失细节,够推断出更多细节,从而在单个视频剪辑中提供大量信息的情况下呈现出更加逼真的外观,可以将视频放大至8K分辨率,并提供真实的细节和动作一致性,放大后的视频不会出现模糊的情况,帮您制作漂亮清晰的高档视频素材。 软件安装 **1、 下载解压安装包 **exe格式的压缩包如何解压??? 2、直接管理员身份运行【TopazVideoAIPortable.exe】就行 3、软件界面