最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序自定義導(dǎo)航欄及其封裝的全過程

 更新時(shí)間:2022年12月02日 10:09:51   作者:東非不開森  
在小程序項(xiàng)目開發(fā)過程中常遇到自定義導(dǎo)航欄的需求,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序自定義導(dǎo)航欄及其封裝的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

應(yīng)用場景:我們?cè)谛〕绦蛑邢胍远x導(dǎo)航欄(當(dāng)然組件庫更方便哈哈)

一、導(dǎo)航欄適配

1.1.在json文件里更改頁面配置項(xiàng)

???

官方文檔介紹的有:

"navigationStyle": "custom"
這樣原本默認(rèn)的導(dǎo)航欄就會(huì)消失了 

PS: 如果是單頁面需要就寫在對(duì)應(yīng)頁面的json內(nèi),如果全局需要就寫在app.josn內(nèi)

1.2.導(dǎo)航欄適配每種機(jī)型

???

app.js 里面獲取statusbarHeight(這個(gè)就是每種機(jī)型的導(dǎo)航高度,我們需要獲取并且動(dòng)態(tài)的展示)

wx.getSystemInfo獲取。

 我們要在對(duì)應(yīng)該導(dǎo)航組件的js文件里面進(jìn)行獲取

  • data中定義一個(gè)數(shù)據(jù)
  • 在動(dòng)態(tài)從app.js中獲取
  • 將獲取到的statusBarHeight,存儲(chǔ)到data

wxml里面動(dòng)態(tài)的使用該數(shù)據(jù)

這樣機(jī)型適配就完成啦o( ̄︶ ̄)o

二、封裝導(dǎo)航欄組件

?????

2.1.wxml

這里我們使用了插槽(可以看看插槽的內(nèi)容)

<!--components/nav-bar/nav-bar.wxml-->
<view class="nav-bar">
  <view class="status" style="height: {{statusHeight}}px;"></view>
    <view class="nav">
      <view class="left">
        <view class="slot">
          <slot name="left"></slot>
        </view>
        <view class="default">
          <image class="icon" src="/assets/images/icons/arrow-left.png"></image>
        </view>
      </view>
      <view class="center">
        <view class="slot">
          <slot name="center"></slot>
        </view>
        <view class="default">
          {{title}}
        </view>
      </view>
      <view class="right"></view>
    </view>
  </view>

2.2.wxss

???

  • 這里主要控制導(dǎo)航欄顯示的位置
  • 還有默認(rèn)插槽用通過css3的偽類:empty,class="default"的view盒子默認(rèn)的樣式是display: none隱藏的,如果class="slot"的view盒子為空時(shí),那么就會(huì)將class="default"的view盒子的樣式設(shè)為display: flex(因?yàn)樾〕绦蚴悄J(rèn)不顯示默認(rèn)插槽的)
/* components/nav-bar/nav-bar.wxss */
/* 自定義導(dǎo)航 */
.nav {
  display: flex;
  height: 44px;
  color: #fff;
}

.left, .right, .center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav .left, .nav .right {
  width: 120rpx;
}

.nav .center {
  flex: 1;
}

/* 控制內(nèi)容顯示 */
.left .icon {
  width: 40rpx;
  height: 40rpx;
}

.default {
  display: none;
}

.slot:empty + .default {
  display: flex;
}

2.3.js

  • 在properties下設(shè)置標(biāo)題
  • 在options開啟多個(gè)插槽
// components/nav-bar/nav-bar.js

const app = getApp()
Component({
  options: {
    multipleSlots: true
  },
  properties:{
    title: {
      type: String,
      value: "導(dǎo)航標(biāo)簽"
    }
  },
  data:{
    statusHeight:20
  },
  lifetimes: {
    attached(){
      this.setData({statusHeight: app.globalData.statusHeight})
    }
  }
})

2.4.在頁面中使用導(dǎo)航欄組件

???

因?yàn)椴宀鄣氖褂?,這里就很方便了,如果添加內(nèi)容,那么就會(huì)顯示默認(rèn)插槽

2.5.效果圖

 這就是大概的效果了,當(dāng)然文字箭頭這里都是可以自定義的hh

總結(jié)

到此這篇關(guān)于微信小程序自定義導(dǎo)航欄及其封裝的文章就介紹到這了,更多相關(guān)微信小程序自定義導(dǎo)航欄封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS常見加解密算法小結(jié)

    JS常見加解密算法小結(jié)

    在Web開發(fā)中,保護(hù)用戶數(shù)據(jù)是至關(guān)重要的,而對(duì)數(shù)據(jù)進(jìn)行加密是其中一種有效手段,本文將深入淺出地介紹常見的加解密算法,包括消息摘要算法、對(duì)稱加密算法以及非對(duì)稱加密算法,需要的朋友可以參考下
    2023-12-12
  • JS拖拽組件學(xué)習(xí)使用

    JS拖拽組件學(xué)習(xí)使用

    這篇文章主要為大家介紹了JS拖拽組件的開發(fā)過程,以及如何正確使用JS拖拽組件,做到舉一反三,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Javascript實(shí)現(xiàn)拖拽排序的代碼

    Javascript實(shí)現(xiàn)拖拽排序的代碼

    這篇文章主要介紹了Javascript實(shí)現(xiàn)拖拽排序的代碼,本文在vue運(yùn)行環(huán)境下給大家演示下效果圖,對(duì)js拖拽排序?qū)嵗a感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • JavaScript DOM節(jié)點(diǎn)操作方式全面講解

    JavaScript DOM節(jié)點(diǎn)操作方式全面講解

    DOM(Document Object Model 文檔對(duì)象模型)定義了訪問和操作文檔的標(biāo)準(zhǔn)方法。整個(gè)瀏覽器網(wǎng)頁就是一個(gè)Dom樹形結(jié)構(gòu),這篇文章主要介紹了JavaScript DOM節(jié)點(diǎn)操作方式
    2022-10-10
  • 禁止拷貝網(wǎng)頁內(nèi)容的js代碼

    禁止拷貝網(wǎng)頁內(nèi)容的js代碼

    如何禁止拷貝網(wǎng)頁內(nèi)容,想維護(hù)下自己的版權(quán),下面有個(gè)不錯(cuò)的方法,大家可以學(xué)習(xí)下
    2014-01-01
  • js實(shí)現(xiàn)3D粒子酷炫動(dòng)態(tài)旋轉(zhuǎn)特效

    js實(shí)現(xiàn)3D粒子酷炫動(dòng)態(tài)旋轉(zhuǎn)特效

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)3D粒子酷炫動(dòng)態(tài)旋轉(zhuǎn)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • JavaScript設(shè)計(jì)模式之裝飾者模式定義與應(yīng)用示例

    JavaScript設(shè)計(jì)模式之裝飾者模式定義與應(yīng)用示例

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式之裝飾者模式定義與應(yīng)用,結(jié)合實(shí)例形式分析了JavaScript裝飾者模式的原理、定義及應(yīng)用方法,需要的朋友可以參考下
    2018-07-07
  • javascript圖片預(yù)加載完整實(shí)例

    javascript圖片預(yù)加載完整實(shí)例

    這篇文章主要介紹了javascript圖片預(yù)加載實(shí)現(xiàn)方法,以完整實(shí)例形式分析了JavaScript圖片預(yù)加載顯示的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • JS實(shí)戰(zhàn)例子之實(shí)現(xiàn)自動(dòng)打字機(jī)動(dòng)效

    JS實(shí)戰(zhàn)例子之實(shí)現(xiàn)自動(dòng)打字機(jī)動(dòng)效

    什么是打字機(jī)效果呢?打字機(jī)效果即為文字逐個(gè)輸出,實(shí)際上就是一種Web動(dòng)畫,下面這篇文章主要給大家介紹了關(guān)于JS實(shí)戰(zhàn)例子之實(shí)現(xiàn)自動(dòng)打字機(jī)動(dòng)效的相關(guān)資料,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

揭西县| 宜昌市| 赫章县| 浙江省| 丹巴县| 达孜县| 太谷县| 南宁市| 景东| 青海省| 温宿县| 江口县| 丹江口市| 湖南省| 平武县| 滁州市| 沙雅县| 曲沃县| 万宁市| 集安市| 旺苍县| 北京市| 高州市| 民丰县| 象山县| 夹江县| 武汉市| 通州市| 武川县| 大冶市| 兰溪市| 海南省| 西吉县| 苏尼特右旗| 扬中市| 察哈| 宿松县| 绥阳县| 楚雄市| 平定县| 肇东市|