tabBar&跳转

165 阅读2分钟

1. 条件判断

wx:if wx:elif wx:else 指令用于判断条件,满足条件显示上面的组件。

wx:if 是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

<view hidden="{{flag ? true : false}}"> Hidden </view>

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

直接在组件上绑定表达式:

<view class="item {{i%2===0?'blue':''}}" style="color:{{i%2===0?'red':''}}">

2. tabBar

在app.json文件中添加tabBar节点。

  • color:tab上的文字默认颜色,仅支持十六进制颜色。

  • selectedColor:tab上的文字选中时的颜色,仅支持十六进制颜色。

  • backgroundColor:tab的背景色,仅支持十六进制颜色。

  • borderStyle:tabbar上边框的颜色, 仅支持 black / white。

  • position:tabBar的位置,仅支持 bottom / top。

  • custom:自定义tabBar。

  • list:tab的列表。

    list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。

    • pagePath:页面路径,必须在 pages 中先定义。

    • text:tab 上按钮文字。

    • iconPath:图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

      当 position 为 top 时,不显示 icon。

    • selectedIconPath:选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

      当 position 为 top 时,不显示 icon。

3. 跳转

navigator组件,用于页面链接,默认只能跳转普通页面。

如果要跳转tabBar页面,需要设置open-type="switchTab"。

<navigator url="/pages/details/details">详情</navigator>
<navigator open-type="switchTab" url="/pages/menu/menu">菜单</navigator>

代码跳转:

跳转到普通页面

wx.navigateTo({
    url: '/pages/details/details',
})

跳转到tabBar页面

wx.switchTab({
    url: '/pages/menu/menu',
})

使用方法跳转页面的好处是:在跳转之前可能需要做其他事情,比如:验证权限等等。