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

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

 更新時間:2019年06月13日 18:12:36   作者:Frank丶HQ  
經常遇到這樣的需求,移動端中的導航并不是在頂部也不是在底部,而是在最底部且是固定的,當我們點擊該導航項時會切換到對應的組件。這篇文章主要介紹了移動端底部導航固定配合vue-router實現(xiàn)組件切換功能,需要的朋友可以參考下

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

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

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

HTML 結構

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

  做完HTML結構的編寫,那我們在給上面的骨架穿上衣服,根據(jù)需求“底部固定”,我們很容易便會想到 position: fixed ,當然我這里也是用固定定位實現(xiàn)的,但布局采用的是 flex,在采用 flex 結合固定定位布局的時候常常會出現(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
  h3
  font-size 15px
  font-weight normal
  margin 0
  padding-bottom 5px

骨架和衣服都做好后,那么大概的雛形就出來了,我們的需求也就實現(xià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
 }
 ]

  最后在“容器”內添加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>
   <h3>首頁</h3>
  </router-link>
  <router-link tag="div" to="/find" class="nav-i">
   <div class="iconfont icon">&#xe629;</div>
   <h3>發(fā)現(xiàn)</h3>
  </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>
   <h3>消息</h3>
  </router-link>
  <router-link tag="div" to="/user" class="nav-i">
   <div class="iconfont icon">&#xe601;</div>
   <h3>我的</h3>
  </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
  h3
  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)組件切換功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

相關文章

最新評論

安乡县| 个旧市| 蓬溪县| 舟山市| 芦山县| 香格里拉县| 黑水县| 建平县| 长白| 突泉县| 克东县| 内黄县| 铜山县| 肇庆市| 英德市| 宿州市| 西藏| 海阳市| 包头市| 乐亭县| 揭西县| 庄河市| 营山县| 安庆市| 宜丰县| 金华市| 安龙县| 宁晋县| 资兴市| 永年县| 临高县| 马边| 余干县| 西和县| 龙川县| 偃师市| 清水河县| 博白县| 哈密市| 乌海市| 靖江市|