微信小程序使用自定義組件導(dǎo)航實現(xiàn)當(dāng)前頁面高亮
最近開發(fā)小程序,需要做一個導(dǎo)航,導(dǎo)航可以通過template寫出來,但是這個項目需要在導(dǎo)航中處理一些邏輯,做成組件更方便些。

首先新建header文件夾,里面新建對應(yīng)的js、json、wxml、wxss文件。
<!-- 公共頭部組件 -->
<view class='headers'>
<navigator open-type="redirectTo" class='logo' url="../index/index" hover-class="none">
<image src="../../assets/img/logo2.png" mode="widthFix"></image>
</navigator>
<view class="phone_nav_switch" bindtap="controlNav">
<view class="iconfont icon-daohang" hidden="{{navIsShow}}"></view>
<view class="iconfont icon-guanbi" hidden="{{!navIsShow}}"></view>
</view>
<view class="nav">
<view class="shadow {{navIsShow ? 'active':''}}" bindtap="controlNav"></view>
<view class="bg {{navIsShow ? 'active':''}}">
<view class='con' wx:for="{{navs}}" wx:key="item.url">
<navigator open-type="redirect" data-index="{{index}}" class="{{index === navActive ? 'active' : ''}}" url="{{item.url}}" hover-class="none">
{{item.text}}
</navigator>
</view>
</view>
</view>
<!-- 返回頂部 -->
<view class="backTop" bindtap="goTop" hidden='{{floorstatus}}'>
<text class="icon iconfont icon-iconfonticontrianglecopy"></text>
</view>
</view>
header.js里的導(dǎo)航數(shù)據(jù)
/**
* 組件的屬性列表
*/
properties: {
// 當(dāng)前導(dǎo)航高亮
navActive: {
// 類型
type: Number,
// 默認(rèn)值
value: 0
}
},
data: {
// 導(dǎo)航開關(guān)
navIsShow: false,
currentIndexNav: 0,
// floorstatus: false,
navs: [
{
text: '網(wǎng)站首頁',
url: '../index/index'
},
{
text: '招商加盟',
url: '../join/join'
},
{
text: '關(guān)于煮田',
url: '../about/about'
},
{
text: '煮田美食',
url: '../food/food'
},
{
text: '最新資訊',
url: '../news/news'
},
{
text: '門店查詢',
url: '../search/search'
},
{
text: '聯(lián)系我們',
url: '../contact/contact'
},
{
text: '視頻列表',
url: '../videoItem/videoItem'
}
]
},
導(dǎo)航放在class="nav"中,header.json文件中寫入
{
"component": true
}
需要引入組件的頁面的json文件寫入,比如index.json
{
"component": true,
"usingComponents": {
"header":"../header/header"
}
}
然后在index.wxml引入組件,navActive是傳給組件的值,目的是為了對應(yīng)導(dǎo)航組件內(nèi)的導(dǎo)航每一項的index,比如首頁的index為0,那我在首頁內(nèi)定義的navActive就是0,
<!-- 頭部組件 -->
<view class='header'>
<!-- 導(dǎo)航高亮傳值 -->
<header navActive='0'></header>
</view>




如果相等當(dāng)前頁面就會高亮

需要在在heaer.js設(shè)置navActive的類型,通過上面的操作,我是能夠?qū)崿F(xiàn)當(dāng)前頁面導(dǎo)航高亮的

,
希望能幫到需要的人,如果覺得我上面寫的不清楚的話,這是我的github
https://github.com/mazixiao/wechat_zhutian
,這個是我做好了的
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序自定義底部導(dǎo)航欄組件
- 微信小程序自定義頭部導(dǎo)航欄(組件化)
- 微信小程序 基礎(chǔ)組件與導(dǎo)航組件詳細(xì)介紹
- 微信小程序 配置頂部導(dǎo)航條標(biāo)題顏色的實現(xiàn)方法
- 微信小程序 開發(fā)之頂部導(dǎo)航欄實例代碼
- 微信小程序頂部可滾動導(dǎo)航效果
- 微信小程序頂部導(dǎo)航欄滑動tab效果
- 微信小程序中頂部導(dǎo)航欄的實現(xiàn)代碼
- 微信小程序自定義navigationBar頂部導(dǎo)航欄適配所有機(jī)型(附完整案例)
- 微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄(選項卡)(1)
- 微信小程序系列之自定義頂部導(dǎo)航功能
- 微信小程序點(diǎn)擊頂部導(dǎo)航欄切換樣式代碼實例
- 微信小程序?qū)崿F(xiàn)頂部導(dǎo)航特效
- 微信小程序自定義頂部導(dǎo)航組件
相關(guān)文章
JS實現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼
這篇文章主要介紹了JS實現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼,涉及JavaScript響應(yīng)鼠標(biāo)事件動態(tài)變換頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
JS實現(xiàn)點(diǎn)擊li標(biāo)簽彈出對應(yīng)的索引功能【案例】
這篇文章主要介紹了JS實現(xiàn)點(diǎn)擊li標(biāo)簽彈出對應(yīng)的索引功能,結(jié)合具體實例形式分析了javascript事件響應(yīng)、元素遍歷等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02

