zoukankan      html  css  js  c++  java
  • Vue中底部tabBar切换及跳转

     tabBar.vue文件,写法如下:

     <div class="tab">
        <div class="tab_item" v-for="(item ,index) in tabBarImg" :key="index" @click="switchToTab(item.path)">
          <img :src="$route.path === item.path ? item.icon : item.normal" alt="">
          <span :class="$route.path === item.path ? 'active' : ''">{{item.title}}</span>
        </div>
      </div>
    

      tabBar.vue 中 js

    export default {
        name: "Tabbar",
        data(){
          return{
            tabBarImg:[
              {
                path:'/home',
                normal:require('./../assets/img/tab_guamai_nor_icon-xhdpi.png'),
                icon:require('./../assets/img/tab_guamai_sel_icon-xhdpi.png'),
                title:'娱乐咨询'
              },
              {
                path:'/chat',
                normal:require('./../assets/img/tab_hangqing_nor_icon-xhdpi.png'),
                icon:require('./../assets/img/tab_hangqing_sel-xhdpi.png'),
                title:'聊天'
              },
              {
                path:'/me',
                normal:require('./../assets/img/tab_wode_nor_icon-xhdpi.png'),
                icon:require('./../assets/img/tab_wode_sel_icon-xhdpi.png'),
                title:'我的'
              },
            ]
          }
        },
        methods:{
          switchToTab(path){
            console.log(path);
            this.$router.replace(path);
          }
        }
      }
    

     路由代码如下:

      meta:用来判断底部tabbar组件是否显示

    import Vue from 'vue'
    import VRouter from 'vue-router'
    
    import Home from './../components/Home.vue';
    import Chat from './../components/Chat.vue';
    import Me from './../components/Me.vue';
    import Login from './../components/Login.vue';
    
    
    Vue.use(VRouter);
    
    export default new VRouter({
      mode:'history',
      routes:[
        {
          path:'/home',
          component:Home,
          meta:{
            showTab:true
          }
        },
        {
          path:'/chat',
          component:Chat,
          meta:{
            showTab:true
          }
        },
        {
          path:'/me',
          component:Me,
          meta:{
            showTab:true
          }
        },
        {
          path:'/login',
          component:Login
        },
        {
          path:'/',
          redirect:'/home'
        }
      ]
    })
    

     App.vue中,判断 底部导航栏是否显示

    <tabbar v-if="$route.meta.showTab"></tabbar>
    

      

  • 相关阅读:
    sql语句最后一行显示统计。
    Win10访问不到XP共享的解决:
    git-github-TortoiseGit综合使用教程(二)快速入门
    git-github-TortoiseGit综合使用教程(一)简介
    RHEL7 -- 修改主机名
    安装完 MySQL 后必须调整的 10 项配置(转)
    my.cnf
    mysql查看系统参数
    MySQL性能的五大配置参数(内存参数)
    (转)Linux用户登录记录日志和相关查看命令汇总
  • 原文地址:https://www.cnblogs.com/dyy-dida/p/11109689.html
Copyright © 2011-2022 走看看