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