原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處
通過(guò)這個(gè)動(dòng)態(tài)圖你應(yīng)該發(fā)現(xiàn)問(wèn)題了,當(dāng)點(diǎn)擊測(cè)試進(jìn)入電影界面時(shí),title先顯示了WeChat然后顯示的電影,這個(gè)體驗(yàn)肯定是難以接受的,原因是電影界面的title是在js文件中page的生命周期方法中設(shè)置的。
Page({
data: {},
onLoad: function (options) {
// 頁(yè)面初始化 options為頁(yè)面跳轉(zhuǎn)所帶來(lái)的參數(shù)
},
onReady: function () {
// 頁(yè)面渲染完成
wx.setNavigationBarTitle({
title: '電影'
})
},
onShow: function () {
// 頁(yè)面顯示
},
onHide: function () {
// 頁(yè)面隱藏
},
onUnload: function () {
// 頁(yè)面關(guān)閉
}
})
通過(guò)注釋你應(yīng)該明白了,設(shè)置標(biāo)題寫在了onReady方法中,也就是頁(yè)面已經(jīng)渲染完成了,在onReady之前顯示的title就是json文件(覆蓋關(guān)系,如果在子頁(yè)面json文件設(shè)置title會(huì)覆蓋app.json全局設(shè)置)中的title??赡苣銜?huì)說(shuō)將wx.setNavigationBarTitle寫在onLoad函數(shù)中,不過(guò)如果這樣設(shè)置是不對(duì)的,因?yàn)閛nLoad執(zhí)行過(guò)后才渲染頁(yè)面,在渲染頁(yè)面時(shí)title會(huì)從json文件中讀取,導(dǎo)致onLoad設(shè)置的title會(huì)只在頁(yè)面渲染之前展示,之后就顯示json文件的tile,所以現(xiàn)在你應(yīng)該明白ttle設(shè)置最優(yōu)的地方就是給子文件寫一個(gè)json文件,在文件中寫入,如果想改變顏色直接在文件中添加就可以,該文件所寫的屬性值會(huì)覆蓋app.json中設(shè)置的值。新建一個(gè)movie.json,
{
"navigationBarTitleText": "電影"
}
最后看下效果圖
這樣是不是顯示標(biāo)題是不是比較符合了呀!
這個(gè)方法也是網(wǎng)絡(luò)上看的,然后自己寫了個(gè)例子驗(yàn)證了一下,在這個(gè)跟大家分享下。