中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue實現nav導航欄的方法

發布時間:2020-08-30 23:08:23 來源:腳本之家 閱讀:326 作者:羞羞的鐵拳 欄目:web開發

每一個網頁項目都少不了導航欄,通過原始的方法基本上都是可以寫出來的。但是要寫出代碼量少,冗余度低的代碼就要動腦子思考一下了。

最近寫了一個百度地圖的項目,要求底部有一個導航欄。具體如下圖:

vue實現nav導航欄的方法

首先,拿到了底部導航欄的所有圖標圖片,圖片都有兩種。灰色的代表未選中,選中的用帶樣色的圖片替換。

先看一下,組件中 html結構:通過vue提供的v-for方法,進行遍歷顯示footNav這個數組。數組里邊存放著{title:"銀行",url:" ",url1:" "},將圖片的 src與isSelect進行綁定,并進行判斷,如果等于當前的title時即為選中當前的導航,顯示選中時的圖片url1。

<div class="footer">
 <ul>
 <li v-for="item in footNav" @click="selectMapNav(item.title)">
 <img :src="isSelect === item.title ? item.url1 : item.url" alt="">
 <p>{{item.title}}</p>
 </li>
 </ul>
</div>

樣式用的是擴展語言less寫的,應該都能看懂,只是簡單的嵌套了一下。給這個地步加一個寬為100%,固定的高度。因為要固定在底部顯示,所以加了一個固定定位和背景顏色。寫的是手機端項目,瀏覽器都比較新,所以不用考慮兼容問題。大膽的flex布局可以很方便的實現導航欄。

.footer ul{
 width:100%;
 height:50px;
 position:fixed;
 bottom:0;
 z-index:1;
 background-color:#fff;
 display:flex;
 li{
 text-align:center;
 flex:1;
 img{height:23px;width:23px;margin-top:5px;}
 p{font-size:0.1rem;height:15px;line-height:10px;}
 }
}

在vue data () 中定義一個數組,里邊存放每一個導航的標題,如‘銀行',未選中時顯示的圖片url,選中時的圖片url1。isSelect表示當前選中的,默認選中銀行。

isSelect: '銀行',
footNav: [{title: '銀行', url: '../../../static/baiduMap/23@2x.png', url1: '../../../static/baiduMap/22@2x.png'},
 {title: '公交 ', url: '../../../static/baiduMap/11@2x.png', url1: '../../../static/baiduMap/10@2x.png'},
 {title: '地鐵 ', url: '../../../static/baiduMap/13@2x.png', url1: '../../../static/baiduMap/12@2x.png'},
 {title: '教育 ', url: '../../../static/baiduMap/15@2x.png', url1: '../../../static/baiduMap/14@2x.png'},
 {title: '醫院 ', url: '../../../static/baiduMap/17@2x.png', url1: '../../../static/baiduMap/16@2x.png'},
 {title: '休閑 ', url: '../../../static/baiduMap/19@2x.png', url1: '../../../static/baiduMap/18@2x.png'},
 {title: '購物 ', url: '../../../static/baiduMap/21@2x.png', url1: '../../../static/baiduMap/20@2x.png'}
]

在methods方法中,寫上html中調用的事件。通過html結構層那里的點擊事件selectMapNav(item.title)傳過來的title賦值給isSelect即可實現導航欄的點擊狀態的變化。

selectMapNav (title) {
 this.isSelect = title }

來看一下最終的結果,很完美。

vue實現nav導航欄的方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘洛县| 荆门市| 瑞安市| 陇南市| 章丘市| 新巴尔虎左旗| 开鲁县| 吉木乃县| 平陆县| 永德县| 武鸣县| 明水县| 同德县| 洪湖市| 东辽县| 东莞市| 西安市| 将乐县| 株洲市| 克山县| 钟祥市| 城固县| 收藏| 德清县| 五指山市| 什邡市| 卢氏县| 临澧县| 竹山县| 平度市| 凤城市| 繁峙县| 洱源县| 剑川县| 宜阳县| 新化县| 芜湖市| 基隆市| 那曲县| 崇阳县| 昌江|