国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 11:20:57
字體:
來源:轉載
供稿:網友

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

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

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

HTML 結構

<div> <div>容器</div> <div class="footer">  <div class="module-nav">  <div class="nav-i">   <div class="iconfont icon"></div>   <h3>首頁</h3>  </div>  <div class="nav-i">   <div class="iconfont icon"></div>   <h3>發現</h3>  </div>  <div class="nav-i">   <div class="iconfont icon-add"></div>  </div>  <div class="nav-i">   <div class="iconfont icon"></div>   <h3>消息</h3>  </div>  <div class="nav-i">   <div class="iconfont icon"></div>   <h3>我的</h3>  <div>  </div> </div> </div>

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

  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

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

路由表

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"></div>   <h3>首頁</h3>  </router-link>  <router-link tag="div" to="/find" class="nav-i">   <div class="iconfont icon"></div>   <h3>發現</h3>  </router-link>  <div class="nav-i">   <div class="iconfont icon-add"></div>  </div>  <router-link tag="div" to="/info" class="nav-i">   <div class="iconfont icon"></div>   <h3>消息</h3>  </router-link>  <router-link tag="div" to="/user" class="nav-i">   <div class="iconfont icon"></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// routerexport 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實現組件切換功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静乐县| 涡阳县| 泰顺县| 云安县| 乌鲁木齐市| 鄯善县| 余江县| 淳化县| 蕉岭县| 子洲县| 大港区| 象山县| 澄城县| 鹤庆县| 靖州| 临汾市| 泽库县| 格尔木市| 沈阳市| 永清县| 宁强县| 科技| 沙雅县| 松滋市| 阜阳市| 图木舒克市| 申扎县| 墨竹工卡县| 新营市| 昌都县| 措美县| 墨脱县| 英德市| 平昌县| 福海县| 金沙县| 淮安市| 宜兰市| 怀远县| 武隆县| 淄博市|