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

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

前情提要

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


在这里插入图片描述


引言

在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": [
    
### 使用 Vue微信小程序中自定义底部菜单 Tabbar #### 创建 Tabbar 组件 为了在微信小程序中使用 Vue 来创建自定义的底部菜单 Tabbar,首先需要构建一个独立的 `Tabbar` 组件。这个组件将会被引入到各个页面当中。 ```html <!-- components/Tabbar.vue --> <template> <view class="tab-bar"> <block v-for="(item, index) in items" :key="index"> <navigator hover-class="none" url="/pages/index/index" ><image src="{{ item.icon }}" /> <text>{{ item.text }}</text></navigator > </block> </view> </template> <script setup> import { ref } from &#39;vue&#39; let props = defineProps({ current: Number, }) const items = [ { icon: &#39;/static/images/home.png&#39;, text: &#39;首页&#39;, }, { icon: &#39;/static/images/category.png&#39;, text: &#39;分类&#39;, }, { icon: &#39;/static/images/cart.png&#39;, text: &#39;购物车&#39;, }, ] // 设置当前选中的索引高亮显示逻辑可在此处补充 </script> <style scoped> .tab-bar { display: flex; justify-content: space-around; align-items: center; height: 98rpx; background-color: white; } .navigator { width: 100%; text-align: center; } </style> ``` 此部分展示了如何建立一个基础版的 Tabbar 组件[^4]。 #### 隐藏默认 Tabbar 并应用自定义 Tabbar 为了让自定义的 Tabbar 显示出来,在 app 启动时需调用 API 方法来隐藏原生的小程序 Tabbar: ```javascript export default function App() { onLaunch(() => { uni.hideTabBar() }) } ``` 接着可以在每一个需要用到的地方通过 `<tabbar>` 标签引用上述制作好的 Tabbar 组件,并传递参数指定当前激活项[^2]。 #### 动态切换 Tabbar 状态 对于动态改变 Tabbar 上某个按钮的状态(比如标记消息未读),可以通过修改数据绑定的方式轻松达成。当特定条件满足时更新对应的数据字段即可触发视图刷新[^3]。 例如,在某页加载完成之后执行如下操作: ```javascript onShow(){ this.setTabBarIndex(1); } ``` 以上就是关于如何利用 Vue 技术栈来自定义微信小程序底栏导航的具体实践方式[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Reuuse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值