• 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>
    

      

  • 相关阅读:
    Android ListView常用用法
    android ListView详解
    /使用匿名内部类来复写Handler当中的handlerMessage()方法
    android Handler的使用(一)
    Android之Handler用法总结
    动态设置android:drawableLeft|Right|Top|Bottom
    Android Drawable Resource学习(十)、ScaleDrawable
    Android开发——关于onCreate的解读
    onCreate()方法中的参数Bundle savedInstanceState 的意义用法
    Android之drawable state各个属性详解
  • 原文地址:https://www.cnblogs.com/dyy-dida/p/11109689.html
Copyright © 2020-2023  润新知