Vue前端开发- Vant之Card组件

devtools/2025/3/5 9:21:47/

业务组件是Vant的一大特点,特别是针对移动端商城开发的业务,有许多组件可以直接运用到通用商城的开发中,代码也十分简单,大大加快了应用的开发速度。

在众多的业务组件中,Card 卡片、Coupon 优惠券选择器和SubmitBar 提交订单栏是三款常用的业务组件,接下来结合实例,分别演示它们使用的过程。

Card 组件

Card 组件用于展示商品的完整信息,包括商品图片、价格、标签和促销信息,还可以显示商品的多种标签,自定义商品的底部操作按钮,常用于购物车商品信息的展示和商品列表信息的显示,它的常用属性如下表11-9所示。
在这里插入图片描述
  接下来通过一个完整的案例来演示使用Card组件实现的效果。

实例11-7 Card组件

1. 功能描述

创建一个页面,定义一条包含商品信息的数据,并使用van-card组件展示这条数据,同时,在底部分别添加自加和自减按钮,当点击按钮时,商品数量进行相应的增加或减少。

2. 实现代码

在项目的components 文件夹中,添加一个名为“Card”的.vue文件,该文件的保存路径是“components/ch11/buis/”,在文件中加入如清单11-7所示代码。

代码清单11-7 Card.vue代码

<template><h3>Card 组件</h3><div class="row"><van-card :num="curGoods.num" :tag="curGoods.tag" :price="curGoods.price" :desc="curGoods.desc":title="curGoods.title" :thumb="curGoods.thumb" :origin-price="curGoods.originPrice"><template #tags><van-tag plain type="primary">{{ curGoods.tags[0] }}</van-tag><van-tag plain type="primary">{{ curGoods.tags[1] }}</van-tag></template><template #footer><van-button size="mini" @click="add">+</van-button><van-button size="mini" @click="reduce">-</van-button></template></van-card></div>
</template>
<script>
import goods from "../../../assets/goods.png"
export default {data() {return {curGoods: {num: 2, price: 9000,desc: "一台笔记本电脑",title: "thinkpad X1 系列",thumb: goods,originPrice: "11000",tag: "超薄小巧型",tags:["一代经典","超低价格"]}}},methods: {add() {this.curGoods.num++;},reduce() {if (this.curGoods.num > 1)this.curGoods.num--;}}
}
</script>
<style>
.row {margin: 10px 0;padding: 10px 0;border-bottom: solid 1px #eee;
}.van-image img {object-fit: contain !important;
}
</style>

3. 页面效果

保存代码后,页面在Chrome浏览器下执行的页面效果如图11-9所示。
在这里插入图片描述
  4. 源码分析

Card 组件中提供了大量的slot插槽,可以很方便地自定义商品的其他标签和操作元素,如在本实例的商品信息底部增加自加和自减按钮,同时,在操作这类按钮时,通常关联商品的相关信息,如数量,当形成关联关系后,如果用户点击了自加按钮,那么商品数量会自动在原有基础上加1,同时,展示数量的信息也会自动同步变更。
在这里插入图片描述


http://www.ppmy.cn/devtools/164710.html

相关文章

【MySQL】与MongoDB的区别,字符集,三范式,存储引擎InnoDB、MyISAM

MongoDB vs MySQL&#xff1a;区别与应用场景 1. 数据模型 MongoDB 非关系型&#xff08;NoSQL&#xff09;&#xff0c;存储的是 JSON 格式 的 文档&#xff08;Document&#xff09;。数据结构灵活&#xff0c;不要求每个文档有相同的字段&#xff0c;适合存储 动态变化的数…

【氮化镓】基于SiC脉冲I-V系统研究Schottky型p-GaN HEMT正栅极ESD机制

这篇文章题为《Investigating Forward Gate ESD Mechanism of Schottky-Type p-GaN Gate HEMTs Using a SiC-Based High-Speed Pulsed I-V Test System》,发表于《IEEE Electron Device Letters》2024年7月刊。研究重点是探讨肖特基型p-GaN门极高电子迁移率晶体管(HEMTs)在正…

【竞技宝】CS2-EPLS21:失之毫厘差之千里 TYLOO惜败

北京时间2025年3月4日&#xff0c;CS2的EPL第21赛季继续进行。昨日第二轮第二场比赛迎来2-0组TYLOO对阵GL。以下为本场比赛的详细战报。 图一荒漠迷城 GL 13-7 TYLOO 图一为TYLOO选图荒漠迷城&#xff0c;上半场TYLOO先做进攻方&#xff0c;手枪局&#xff0c;TYLOO采用拱门夹…

Stable Diffusion Prompt编写规范详解

Stable Diffusion Prompt编写规范详解 一、语法结构规范 &#xff08;一&#xff09;基础模板框架 [质量强化] [主体特征] [环境氛围] [风格控制] [镜头参数]质量强化&#xff1a;best quality, ultra detailed, 8k resolution‌主体特征&#xff1a;(1girl:1.3), long …

20241130 RocketMQ本机安装与SpringBoot整合

目录 一、RocketMQ简介 ???1.1、核心概念 ???1.2、应用场景 ???1.3、架构设计 2、RocketMQ Server安装 3、RocketMQ可视化控制台安装与使用 4、SpringBoot整合RocketMQ实现消息发送和接收? ? ? ? ? 4.1、添加maven依赖 ???4.2、yaml配置 ???4.3、…

迷你世界脚本道具接口:Item

道具接口&#xff1a;Item 彼得兔 更新时间: 2023-04-26 10:26:18 继承自 Actor 具体函数名及描述如下: 序号 函数名 函数描述 1 getItemName(...) 获取道具名称 2 getItemId(...) 获取actor对应的道具ID&#xff0c;如球类等 3 getDropItemNum(...) …

第十天-字符串:编程世界的文本基石

在编程的广阔领域中&#xff0c;字符串是极为重要的数据类型&#xff0c;它就像一座桥梁&#xff0c;连接着人类的自然语言和计算机能够理解与处理的数字信息。下面&#xff0c;让我们深入探索字符串的世界。 一、字符串简介 字符串是由零个或多个字符组成的有序序列&#xff…

希音(Shein)前端开发面试题集锦和参考答案

用 Node 写过什么工具或 npm 包 在实际开发中,使用 Node 编写过多种实用工具和 npm 包。 自动化构建工具 开发了一个简单的自动化构建工具,用于处理前端项目的资源压缩和合并。在前端项目中,为了优化性能,需要对 CSS 和 JavaScript 文件进行压缩,减少文件体积,同时将多个…