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