怎么写一个下面有三个tab标签的移动端的框架。点击底部跳转到指定页。底部是固定的

app.vue

<template>

  <div id="app">

    <router-view class="page"></router-view>

  

    <van-tabbar v-model="active">  //我这里用的vant的框架注意要在main.js里面引入

        <van-tabbar-item icon="home-o">标签1</van-tabbar-item>

        <van-tabbar-item icon="search">标签2</van-tabbar-item>

        <van-tabbar-item icon="friends-o">标签3</van-tabbar-item>

    </van-tabbar>

  </div>

</template>

 

<script>

export default {

  name: 'App',

  data(){

    return{

      active:0,

    }

  },

  methods:{

     

  },

  watch:{

    active(val){

       switch(val){

         case 0:this.$router.push({path:'/tab1'});break;

         case 1:this.$router.push({path:'/tab2'});break;

         case 2:this.$router.push({path:'/tab3'});break;

       }

    }

  }

}

</script>

 

<style>

#app {

  font-family: 'Avenir', Helvetica, Arial, sans-serif;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  text-align: center;

  color: #2c3e50;

  margin-top: 60px;

}

</style>

路由配置

import Vue from 'vue'

import Router from 'vue-router'

Vue.use(Router)

export default new Router({

  routes: [

    {

      path: '/',

      name: 'app',

      component: resolve => require(['@/App'], resolve),

      children:[      

        {  path:'/tab1',

           name:'tab1',

           component: resolve => require(['@/components/tab1'], resolve)

        },{  

          path:'/tab2',

          name:'tab2',

          component: resolve => require(['@/components/tab2'], resolve)

     },{  

        path:'/tab3',

        name:'tab3',

        component: resolve => require(['@/components/tab3'], resolve)

     },

     {//重定向。进入的时候就是第一个tab1显示

      path: '/',

      redirect: '/tab1'

    }

      ]

    },

    

  ]

})

main.js

import Vue from 'vue'

import App from './App'

import router from './router'

// 引入vant框架

import Vant from 'vant';

import 'vant/lib/index.css';

Vue.use(Vant);

Vue.config.productionTip = false

 

/* eslint-disable no-new */

new Vue({

  el: '#app',

  router,

  components: { App },

  template: '<App/>'

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值