当从一个分类列表页面进入到一个详情页面的时候,由于这个详情页面是公用的,为了区分页面,就会设置该页面的导航用以区分。就需要开发者在页面加载的时候进行动态设置导航标题!
实现API
wx.setNavigationBarTitle(OBJECT)
语法
wx.setNavigationBarTitle({ title: '当前页面', //页面标题 success: () => {}, //接口调用成功的回调函数 fail: () => {}, //接口调用失败的回调函数 complete: () => {} //接口调用结束的回调函数(调用成功、失败都会执行) })
开发DEMO
list.wxml
1. 在navigator标签的url设置两个参数;
2. 一个分类ID—用于详情页面请求对应分类的详细数据;
3. 一个分类名称—用于本次博客的主要作用,设置导航栏标题。
<navigator url="../../pages/shopList/shopList?navId={{item.supplierTypeID}}&navName={{item.supplierTypeName}}"> <image src="https://www.jb51.net/{{item.supplierTypePic}}"></image> <text>{{item.supplierTypeName}}</text> </navigator>
detail.js
1. 获取URL传递到子页面的参数—在onLoad函数opts.navName;
2. 三元表达式判断opts.navName参数是否为空,如果为空直接设置为商铺列表,否则进行拼接;
3. 用setNavigationBarTitle API实现导航标题的动态设置。
Page({ onLoad(opts){ // 设置导航栏为对应导航 wx.setNavigationBarTitle({ title: (opts.navName != '' ? opts.navName : '') + '商铺列表' }) } })
实际应用效果图