千家信息网

微信小程序怎么实现tabBar模板

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要讲解了"微信小程序怎么实现tabBar模板",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"微信小程序怎么实现tabBar模板"吧!众所周知,
千家信息网最后更新 2025年11月15日微信小程序怎么实现tabBar模板

这篇文章主要讲解了"微信小程序怎么实现tabBar模板",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"微信小程序怎么实现tabBar模板"吧!

众所周知,微信小程序的tabBar都是新开页面的,而微信文档上又表明了最多只能打开5层页面。这样就很容易导致出问题啦,假如我的tabBar有5个呢?下面是微信原话:

一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo

因此这几天想着根据微信tabBar数组来自定义模板供页面调用。不过我在list里面每个对象都增加了一个selectedColor和active属性,方便对每个tabBar当前页做样式,如果不传直接使用设置的selectedColor。因此这串数据只能设定在各个页面下,不能设定在公用的app.js配置文件下,稍微有点代码冗余,下次研究下怎么直接配置到app.js完善下。

只要新建一个tarBar.wxml模板页,然后引用模板的页面传入数据即可,代码如下:

接下来进行测试,首先是index.js的配置对象:

//配置tabBar  tabBar: {   "color": "#9E9E9E",   "selectedColor": "#f00",   "backgroundColor": "#fff",   "borderStyle": "#ccc",   "list": [    {     "pagePath": "/pages/index/index",     "text": "主页",     "iconPath": "../../img/tabBar_home.png",     "selectedIconPath": "../../img/tabBar_home_cur.png",     //"selectedColor": "#4EDF80",     active: true    },    {     "pagePath": "/pages/village/city/city",     "text": "目的地",     "iconPath": "../../img/tabBar_village.png",     "selectedIconPath": "../../img/tabBar_village_cur.png",     "selectedColor": "#4EDF80",     active: false    },    {     "pagePath": "/pages/mine/mine",     "text": "我的",     "iconPath": "../../img/tabBar_mine.png",     "selectedIconPath": "../../img/tabBar_mine_cur.png",     "selectedColor": "#4EDF80",     active: false    }   ],   "position": "bottom"  }

index.wxml引入模板: