移動端底部導航固定配合vue-router如何實現(xiàn)組件切換功能

這篇文章主要介紹移動端底部導航固定配合vue-router如何實現(xiàn)組件切換功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

公司主營業(yè)務:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出寶安免費做網(wǎng)站回饋大家。

在我們平時練習或者實際項目中也好,我們常常遇到這么一個需求:移動端中的導航并不是在頂部也不是在底部,而是在最底部且是固定的,當我們點擊該導航項時會切換到對應的組件。

相信對于很多朋友而言,這是一個很簡單的需求,而且市面上有很多開源的組件庫就可以實現(xiàn),像比如說:cube-ui等!那么對于一個要是還在練習以及對第三方組件庫不是很了解的朋友不妨看看我這篇,相信會對你有所收獲的!

首先,在實現(xiàn)這個需求之前,我們先分析或者回想下和自己做過的demo中哪個類似,相信很多朋友立馬就會想起來---tab欄切換,那么對于HTML結(jié)構(gòu)的設(shè)計我們便可以借助tab欄切換的結(jié)構(gòu):一個大盒子套著兩個小盒子,一個作容器,另一個作導航!

HTML 結(jié)構(gòu)

<div>
 <div>容器</div>
 <div class="footer">
  <div class="module-nav">
  <div class="nav-i">
   <div class="iconfont icon">&#xe610;</div>
   <h4>首頁</h4>
  </div>
  <div class="nav-i">
   <div class="iconfont icon">&#xe629;</div>
   <h4>發(fā)現(xiàn)</h4>
  </div>
  <div class="nav-i">
   <div class="iconfont icon-add">&#xe84f;</div>
  </div>
  <div class="nav-i">
   <div class="iconfont icon">&#xe62c;</div>
   <h4>消息</h4>
  </div>
  <div class="nav-i">
   <div class="iconfont icon">&#xe601;</div>
   <h4>我的</h4>
  <div>
  </div>
 </div>
 </div>

  做完HTML結(jié)構(gòu)的編寫,那我們在給上面的骨架穿上衣服,根據(jù)需求“底部固定”,我們很容易便會想到 position: fixed ,當然我這里也是用固定定位實現(xiàn)的,但布局采用的是 flex,在采用 flex 結(jié)合固定定位布局的時候常常會出現(xiàn)很多不必要的問題,如:flex 屬性失效,兩者效果沖突等,原因更多的便是“脫標”導致的,其中更多的便是出現(xiàn)在父元素 flex,子元素 position的時候,這時候可以中間加個div使兩者擺脫聯(lián)系。

  css 樣式( stylus形式 )

 .footer
 position fixed
 bottom 0
 z-index 999
 max-width 1080px
 width 100%
 border-top 1px solid #C0C0C0
 .module-nav
 display flex
 justify-content space-around
 .nav-i
  width 60px
  text-align center
  .icon
  font-size 35px
  padding 5px 0
  .icon-add
  font-size 60px
  h4
  font-size 15px
  font-weight normal
  margin 0
  padding-bottom 5px

骨架和衣服都做好后,那么大概的雛形就出來了,我們的需求也就實現(xiàn)了一半,剩下的便是組件切換了。這個就簡單了,只需要配置下路由表,然后指定跳轉(zhuǎn)便可以了

路由表

routes: [
 {
  path: "/",
  name: "home",
  component: Home
 },
 {
  path: "/find",
  name: "find",
  component: Find
 },
 {
  path: "/info",
  name: "info",
  component: Info
 },
 {
  path: "/user",
  name: "user",
  component: User
 }
 ]

  最后在“容器”內(nèi)添加router-view即可,下面可以看看完整代碼:

 // HTML
<div>
 <div class="main-content">
  <router-view></router-view>
 </div>
 <div class="footer">
  <div class="module-nav">
  <router-link tag="div" to="/" class="nav-i">
   <div class="iconfont icon">&#xe610;</div>
   <h4>首頁</h4>
  </router-link>
  <router-link tag="div" to="/find" class="nav-i">
   <div class="iconfont icon">&#xe629;</div>
   <h4>發(fā)現(xiàn)</h4>
  </router-link>
  <div class="nav-i">
   <div class="iconfont icon-add">&#xe84f;</div>
  </div>
  <router-link tag="div" to="/info" class="nav-i">
   <div class="iconfont icon">&#xe62c;</div>
   <h4>消息</h4>
  </router-link>
  <router-link tag="div" to="/user" class="nav-i">
   <div class="iconfont icon">&#xe601;</div>
   <h4>我的</h4>
  </router-link>
  </div>
 </div>
 </div>

// css
.footer
 position fixed
 bottom 0
 z-index 999
 max-width 1080px
 width 100%
 border-top 1px solid #C0C0C0
 .module-nav
 display flex
 justify-content space-around
 .nav-i
  width 60px
  text-align center
  .icon
  font-size 35px
  padding 5px 0
  .icon-add
  font-size 60px
  h4
  font-size 15px
  font-weight normal
  margin 0
  padding-bottom 5px

// router
export default new Router({
 routes: [
 {
  path: "/",
  name: "home",
  component: Home
 },
 {
  path: "/find",
  name: "find",
  component: Find
 },
 {
  path: "/info",
  name: "info",
  component: Info
 },
 {
  path: "/user",
  name: "user",
  component: User
 }
 ]
});

以上是“移動端底部導航固定配合vue-router如何實現(xiàn)組件切換功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:移動端底部導航固定配合vue-router如何實現(xiàn)組件切換功能
本文URL:http://bm7419.com/article24/psdsje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、建站公司、外貿(mào)網(wǎng)站建設(shè)、域名注冊、ChatGPT、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)