vue移动端Tabbar 标签栏(简单)

目录

效果图

实现步骤:

1.通过 npm 安装

2.引入组件

自动按需导入

3.配置

4.Tabbar 标签栏使用

前提准备:

使用:

 参数说明:


使用组件:Vant

Vant 是一个轻量、可靠的移动端组件库

效果图

实现步骤:

1.通过 npm 安装

在现有项目中使用 Vant 时,可以通过 npmyarn 进行安装:

# Vue 3 项目,安装最新版 Vant:

npm i vant -S

# Vue 2 项目,安装 Vant 2:

npm i vant@latest-v2 -S

2.引入组件

自动按需导入

Vant 支持一次性导入所有组件,引入所有组件会增加代码包体积,推荐自动按需引入组件

项目终端执行命令安装插件:

npm i babel-plugin-import -D

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式。

3.配置

第一种:对于使用 babel7 的用户,可以在 babel.config.js 中配置

module.exports = {
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]
};

 第二种:在.babelrc 中添加配置

// 注意:webpack 1 无需设置 libraryDirectory
{
  "plugins": [
    ["import", {
      "libraryName": "vant",
      "libraryDirectory": "es",
      "style": true
    }]
  ]
}

4.Tabbar 标签栏使用

前提准备:

在views文件夹下新建几个跳转页面

在router/index.js配置路由

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/home/index.vue'

Vue.use(VueRouter)

const routes = [
    {
        path: '/',
        redirect: "/home"
    },
    {
        path: '/home',
        name: 'home',
        component: Home
    },
    {
        path: '/classify',
        name: 'classify',
        component: () => import('../views/classify/index.vue')
    },
    {
        path: '/cart',
        name: 'cart',
        component: () => import('../views/cart/index.vue')
    },
    {
        path: '/my',
        name: 'my',
        component: () => import('../views/my/index.vue')
    },

]

const router = new VueRouter({
    mode: 'hash',
    base: process.env.BASE_URL,
    routes
})

export default router

使用:

在main.js中全局按需引入:

import { Tabbar, TabbarItem } from 'vant';

Vue.use(Tabbar);
Vue.use(TabbarItem);

在App.vue中使用:

<template>
  <div id="app">
    <van-tabbar route active-color="#ee0a24" v-if="isTabShow">
      <van-tabbar-item replace to="/home" icon="wap-home-o">首页</van-tabbar-item>
      <van-tabbar-item replace to="/classify" icon="search">分类</van-tabbar-item>
      <van-tabbar-item replace to="/cart" icon="shopping-cart-o">购物车</van-tabbar-item>
      <van-tabbar-item replace to="/my" icon="manager-o">我的</van-tabbar-item>
    </van-tabbar>
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  data() {
    return {
      //true为显示tabbar栏,false为隐藏
      isTabShow: true
    }
  },
  //监听路由变化,显示或隐藏tabbar栏
  watch: {
    "$route": function (to) {
      var tabArr = ["/home", "/classify", "/cart", "/my"];
      if (tabArr.includes(to.path)) {
        this.isTabShow = true
      } else {
        this.isTabShow = false
      }
    }
  },
}
</script>

 参数说明:

active-color:选中时的颜色

icon:图标,文档,引用图标下方的名字

replace to:跳转路径,与router/index.js中的path相对应

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue 3和Vant移动端TabBar的使用,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Vue 3和Vant。你可以使用以下命令来安装它们: ```bash npm install vue@next vant ``` 2. 在你的Vue项目中,创建一个新的组件文件,例如`TabBar.vue`。 3. 在`TabBar.vue`文件中,引入Vue和Vant的相关组件和样式: ```javascript <template> <div> <van-tabbar v-model="active"> <van-tabbar-item icon="home-o" to="/"> 首页 </van-tabbar-item> <van-tabbar-item icon="search" to="/search"> 搜索 </van-tabbar-item> <van-tabbar-item icon="star-o" to="/favorites"> 收藏 </van-tabbar-item> <van-tabbar-item icon="contact" to="/profile"> 个人中心 </van-tabbar-item> </van-tabbar> </div> </template> <script> import { Tabbar, TabbarItem } from 'vant'; export default { components: { [Tabbar.name]: Tabbar, [TabbarItem.name]: TabbarItem, }, data() { return { active: '/', }; }, }; </script> <style> /* 这里可以添加自定义样式 */ </style> ``` 4. 在你的主应用组件中,例如`App.vue`,使用`TabBar`组件: ```html <template> <div id="app"> <!-- 其他内容 --> <TabBar /> </div> </template> <script> import TabBar from './components/TabBar.vue'; export default { components: { TabBar, }, }; </script> <style> /* 这里可以添加全局样式 */ </style> ``` 5. 最后,你可以根据自己的需要在`TabBar.vue`中设置每个Tab项的图标、文字和链接。你还可以通过修改`active`的值来控制当前选中的Tab。 这样,你就可以在Vue 3项目中使用Vant移动端TabBar了。记得根据自己的需求进行样式和功能的调整。希望对你有帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值