vant4的基础用法

news2024/11/19 10:38:28

基于vue3和ts平台来使用

这篇文章会手把手的教你如何用vant开发h5

介绍

       Vant 是一个轻量、可靠的移动端组件库,基于 Vue3,由有赞开发并且维护。有赞作为早期以 H5 商城、小程序商城做微信生态的起家, Vant 一直是这些产品的主要组成部分,有赞的技术团队一直在维护,非常可靠。

下面,将教大家如何使用vant4

1,安装

        npm i vant

        安装最新版本即可

2.注册

        2.1,局部注册

               在组件内单独注册

import { Button } from 'vant'; //引入组件
import 'vant/lib/index.css'; //引入样式
import { onMounted, ref } from "vue"
export default ({
    setup() {

        return {}
    },
    components: {
        vanButton: Button, //注册组件
    },
})

        2.2 ,全局注册

        在main.ts里全局注册组件

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import vant from "vant" //1.引入vant
import 'vant/lib/index.css'; //2。引入vant样式
createApp(App).use(store).use(router).use(ElementPlus).use(vant).mount('#app') //3、链式调用use方法,将vant传入,完成全局注册,这里我直接省事,注册了所有的vant组件,
按需注册
   import {Button} from "vant"
    createApp(App).use(store).use(router).use(ElementPlus).use(Button).mount('#app')

       建议按需。

3.定义tabbat标签栏

       3.1 在router里定义3个组件,作为我们的底部导航栏切换的基础组件,同时在定义一个主组件,用来容纳定义的基础组件

                                          

         3.2 在组件中定义好我们要显示的内容

<template>
    <div>
        我是commodity组件
    </div>
</template>
<script lang="ts">
export default ({
    setup() {
        return {}
    }
})
</script>
<style scoped>
</style>

            3.3 注册路由,将组件和路由绑定


const routes: Array<RouteRecordRaw> = [
  {
    path:"/",  
    name:"host",
    redirect:"/home",
    component:()=>import("../views/IndexHost.vue"),
    children:[  
      {
        path: '/home',
        name: 'home',
        component: () => import("../views/home/IndexHome.vue")
        
      },
      {
        path: '/user',
        name: 'user',
        component: () => import('../views/user/IndexUser.vue')
        
      },
      {
        path: '/commodity',
        name: 'commodity',
        component: () => import('../views/commodity/IndexCommodity.vue')
        
      },
    ]
  },
  
]

         3.4 ,在主组件(IndexHost.vue)中定义tabber标签(底部标签)和定义路由容器

<template>
    <div>
        <router-view /> //1.定义路由容器,显示在上层
        <div>
        <van-tabbar v-model="active">
            <van-tabbar-item name="home" icon="home-o" @click="cuttab('home')" replace to="/home">首页</van-tabbar-item> //2.定义底部tab,通过actuve属性的来确定当前选中的是哪个tab,replacr为true,表示在当前页面跳转,to属性表示点击时跳转到这个路由
            <van-tabbar-item name="search" icon="search"  @click="cuttab('search')" replace to="/commodity">商品</van-tabbar-item>
            <van-tabbar-item name="friends" icon="friends-o"  @click="cuttab('friends')" replace to="/user">用户</van-tabbar-item>
        </van-tabbar>
        </div>
    </div>
</template>
<script lang="ts">
import { ref } from 'vue';
export default ({
    setup() {
        const active = ref('home');


        const cuttab=(name:string)=>{  //3.定义方法,当点击tab时传入name,用name来替换avtive的值,实现点击时切换tab的交互
            active.value = name
        }

        return {
            active,
            cuttab
        }
    }
})
</script>
<style scoped></style>

实现效果

基础框架已经搭好,下节讲述如何在页面中填充内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“软件开发报价混乱?看这一篇就够了!“

大家好&#xff0c;今天我们要聊一聊软件开发报价的那些事儿。相信很多企业和个人都曾为此犯过愁&#xff0c;看着报价单上一串串数字&#xff0c;心里直犯嘀咕&#xff1a;这价格靠谱吗&#xff1f;是不是被忽悠了&#xff1f;别急&#xff0c;今天我们就来揭开软件开发报价的…

小型内衣裤洗衣机哪个牌子好?迷你洗衣机品牌推荐

近日&#xff0c;国内著名的电子商务平台公布了“内衣洗衣机产业趋势”的研究报告。该报告指出&#xff0c;由于消费者对生活质量的要求越来越高&#xff0c;内衣洗衣机的行业也有了长足的发展&#xff0c;特别是在今年以来&#xff0c;内衣洗衣机的销售额同比上涨了830%&#…

PDF文件恢复?记住这3个就够了!

“各位大佬&#xff01;我想问问如果不小心删除了电脑中的PDF文件&#xff0c;还有什么方法将它们找回来吗&#xff1f;我丢失的是比较重要的文件&#xff0c;希望大家帮我出出主意&#xff01;” PDF文件现在越来越成为受用户青睐的一种文件保存方式。使用PDF格式的文件能更有…

Anaconda下载安装以及环境变量的配置

一、下载安装anaconda 可以在官网下载&#xff1a;Anaconda | The World’s Most Popular Data Science Platform 也直接用清华源镜像进行下载&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 按照需要选则自己需要的版本…

2023年Q3户外装备市场行业分析报告(京东数据分析):同比增长7%,品牌化发展是核心

近年来&#xff0c;户外运动在我国不少地方蓬勃兴起&#xff0c;发展至今&#xff0c;户外运动早已不是聚焦专业领域的小众群体活动&#xff0c;现已发展成为当下热门的大众休闲活动&#xff0c;参与人群愈发广泛&#xff0c;而这股热潮也带动着相关产业的发展。 今年Q3&#x…

基于非对称加密证书(算法)机制实现的单向身份鉴别和双向身份鉴别原理

单向认证一般是指客户端确认服务端身份&#xff0c;而双向认证一般是指客户端和服务器端都需要验证对方的身份。 双向认证的客户端需要从服务器端下载服务器的公钥证书进行验证&#xff0c;还需要把客户端的公钥证书上传到服务器端给服务器端进行验证&#xff0c;等双方都认证…

内网穿透的应用-如何在Termux 中使用SFTP 文件传输并结合内网穿透实现远程传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

Linux C语言开发-D15一维数组

数组&#xff1a;有一定顺序关系的数据类型相同变量的变量集合 形式&#xff1a;<存储类型> <数据类型> <数组名> [<表达式>] 数组名表示内存首地址&#xff0c;是一个地址常量&#xff0c;sizeof(数组名)是数组占用的总内存空间 编译时分配连续内存…

yum 命令

基本语法 yum [选项] [参数] 选项说明 -y 对所有提问都回答“yes” 参数说明 实操 yum list | grep firefox yum -y remove firefox yum -y install firefox

C++设计模式_20_Composite 组合模式

Composite 组合模式和后面谈到的Iterator&#xff0c;Chain of Resposibility都属于“数据结构”模式。Composite 组合模式核心是通过多态的递归调用解耦内部和外部的依赖关系。 文章目录 1. “数据结构”模式1.1 典型模式 2. 动机( Motivation )3. 模式定义4. Composite 组合模…

LeetCode刷题---简单组(五)

文章目录 &#x1f352;题目一 58. 最后一个单词的长度&#x1f352;解法一&#x1f352;解法二&#x1f352;题目二 66. 加一&#x1f352;解法一&#x1f352;题目三 67. 二进制求和&#x1f352;解法一 &#x1f352;题目一 58. 最后一个单词的长度 给你一个字符串 s&#x…

阿里8年经验之谈 —— Python实现性能自动化测试竟然如此简单!

一、思考❓❔ 1.什么是性能自动化测试? 性能 系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试 使用程序代替手工提升测试效率性能自动化 使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数&#xff0c;统计系统负载能力生成报告 2.Python中的性能自动化…

【多线程相关其三】多线程使用

1.为什么要使用多线程&#xff1f; 线程在程序中是独立的、并发的执行流。与分隔的进程相比&#xff0c;进程中线程之间的隔离程度要小&#xff0c;它们共享内存、文件句柄 和其他进程应有的状态。 因为线程的划分尺度小于进程&#xff0c;使得多线程程序的并发性高。进程在执行…

winodws10系统C盘文件夹目录讲解

背景&#xff1a; 电脑安装系统一段时间后&#xff0c;发现C盘的空间越来越小&#xff0c;于是乎&#xff0c;想了解一下C盘文件目录结构&#xff0c;删除一下非必要的文件&#xff0c;同时增强一些操作系统的知识。 目前我的C盘目录如下&#xff1a; 如果开启显示隐藏文件&…

希亦内衣洗衣机和美的哪个好?内衣洗衣机对比分析

希亦内衣洗衣机与美的内衣洗衣机&#xff0c;到底哪个更胜一筹&#xff1f;当面对繁多的内衣洗衣机品牌和型号时&#xff0c;如何选购最适合自己的内衣洗衣机&#xff1f;本文将对两大家电品牌——希亦和美的的内衣洗衣机进行深度比较&#xff0c;以帮助你做出最佳决定&#xf…

【EI会议征稿】第三届结构抗震与监测检测国际学术会议(SSRMD 2024)

第三届结构抗震与监测检测国际学术会议&#xff08;SSRMD 2024&#xff09; 2024 3rd International Conference on Structural Seismic Resistance, Monitoring and Detection 随着城市化进程的深入&#xff0c;城市中的建筑越来越多。建筑也逐渐多样化&#xff0c;复杂化。…

导弹拦截(最大不上升 或 不下降子序列,dp)

算法分析&#xff1a; 1.求最长子序列 1.每次输入时&#xff0c;计算每个元素对应的序列的长度 1.向前遍历找大于当前元素的数 2.若之前元素对应长度1 大于当前长度&#xff0c;更新当前长度 2.若当前元素对应长度 大于最大长度&#xff0c;更新最大长度 2.dilworth定理 故需…

Vue.js 的核心特点

目录 1.什么是vue 2. 响应式数据绑定 3. 组件化开发 4. 虚拟DOM 5. 双向数据绑定 6. 插件扩展能力 7. 简洁易学 1.什么是vue Vue.js 是一款流行的前端 JavaScript 框架&#xff0c;用于构建用户界面。它是一个轻量级、灵活和易于上手的框架&#xff0c;广泛应用于现代 …

功能型前端项目技术栈选型

PC功能型官网技术栈选择 vue2vuexvue-routerxaxiosanimate主推&#xff1a;vue3piniavue-routertypeScriptaxiosanimate&#xff08;新技术后期踩坑多&#xff0c;成本较高&#xff09; 1.2 vue3对比vue2 团队已经熟悉 Vue 2&#xff0c;并且官网的规模不是很大&#xff0c;Vue…

一文理解什么是贝叶斯优化的随机森林

贝叶斯优化 简介 贝叶斯优化是一种启发式的全局优化方法&#xff0c;用于优化那些评估代价高昂且可能带有噪音的黑盒函数。其核心思想是&#xff1a;在每一步&#xff0c;都利用已知的函数评估来构建一个概率模型&#xff0c;预测黑盒函数在未知点上的值&#xff0c;并据此选择…