要用自定義的導(dǎo)航欄,需要在app.json中配置
目前是不支持單個(gè)頁(yè)面設(shè)置的,把導(dǎo)航欄寫(xiě)成一個(gè)組件
navigation.wxml
navigation.wxss
navigation.json,自定義組件必須
navigation.js
Component構(gòu)造器用戶定義組件,調(diào)用Component構(gòu)造器可以指定組件的屬性,數(shù)據(jù),方法;
properties: { //?組件的對(duì)外屬性
myProperty: {// 屬性名
type:String, ?// 類型(必填),目前接受的類型包括:String, Number, Boolean, Object, Array, null(表示任意類型)
value:'', ? ? // 屬性初始值(可選)为狸,如果未指定則會(huì)根據(jù)類型選擇一個(gè)
observer:function(newVal, oldVal, changedPath){?
// 屬性被改變時(shí)執(zhí)行的函數(shù)(可選)凌摄,也可以寫(xiě)成在methods段中定義的方法名字符串, 如:'_propertyChange'
// 通常 newVal 就是新設(shè)置的數(shù)據(jù)圃验, oldVal 是舊數(shù)據(jù)}?
?},
myProperty2:String ? ?// 簡(jiǎn)化的定義方式
},
data: {},// 私有數(shù)據(jù)檀头,可用于模板渲染
// 生命周期函數(shù)宜鸯,可以為函數(shù)腾供,或一個(gè)在methods段中定義的方法名
attached:function(){ }, ?//?組件生命周期函數(shù),在組件實(shí)例進(jìn)入頁(yè)面節(jié)點(diǎn)樹(shù)時(shí)執(zhí)行
methods: { // 組件事件,包括事件響應(yīng)函數(shù)和任意的自定義方法鲜滩,關(guān)于事件響應(yīng)函數(shù)的使用
onMyButtonTap:function(){
this.setData({
// 更新屬性和數(shù)據(jù)的方法與更新頁(yè)面數(shù)據(jù)的方法類似})?
?},
// 內(nèi)部方法建議以下劃線開(kāi)頭
_myPrivateMethod:function(){
// 這里將 data.A[0].B 設(shè)為 'myPrivateData'
this.setData({
'A[0].B':'myPrivateData'
})?
},
_propertyChange:function(newVal, oldVal){ }?
?}
使用自定義導(dǎo)航欄
wxml使用:
注意:在?properties?定義段中伴鳖,屬性名采用駝峰寫(xiě)法(propertyName);在?wxml?中徙硅,指定屬性值時(shí)則對(duì)應(yīng)使用連字符寫(xiě)法(component-tag-name property-name="attr value")榜聂,應(yīng)用于數(shù)據(jù)綁定時(shí)采用駝峰寫(xiě)法(attr="{{propertyName}}")。
json聲明組件,組件地址
js使用:
webview頁(yè)面如果自定義導(dǎo)航欄的話,目前的做法只能在webview中添加