当前位置: 首页 > news >正文

Vue第三篇:最简单的vue购物车示例

本文参考:Vue Cli(脚手架)实现购物车小案例 - - php中文网博客

 效果图:

 

编写流程:

1、首先通过@vue/cli创建工程

vue create totalprice

2、改写App.vue代码如下:

<template><div><div v-if="cartlist.length <= 0">你没有选择的商品,购物车为空,去购物</div><table v-else><caption>    <!--表格标题--><h1>购物车</h1></caption><tr><th>选中</th><th>编号</th><th>商品名称</th><th>商品价格</th><th>购买数量</th><th>操作</th></tr><tr v-for="(item, index) in cartlist" :key="item.id"><td><input type="checkbox" v-model="item.checkbox"></td><td>{{ item.id }}</td><td>{{ item.name }}</td><td><small>¥</small>{{ item.price.toFixed(2) }}</td><td><button @click="item.count--" :disabled="item.count <= 1">-</button>{{ item.count }}<button @click="item.count++">+</button></td><td><button @click.prevent="del(index)">删除</button></td></tr><tr><td colspan="3" align="center">总价</td><td colspan="3" align="center">{{ totalPrice }}</td></tr></table></div>
</template><script>export default {name: 'app',data(){return{cartlist:[{id: 1,checkbox: true,name: '《细说PHP》',price: 10,count: 1},{id: 2,checkbox: true,name: '《细说网页制作》',price: 10,count: 1},{id: 3,checkbox: true,name: '《细说JavaScript语言》',price: 10,count: 1},{id: 4,checkbox: true,name: '《细说DOM和BOM》',price: 10,count: 1},{id: 5,checkbox: true,name: '《细说Ajax与jQuery》',price: 10,count: 1},{id: 6,checkbox: true,name: '《细说HTML5高级API》',price: 10,count: 1}]}},methods:{del(index){this.cartlist.splice(index, 1)}},computed:{totalPrice(){let sum = 0;for(let book of this.cartlist){if(book.checkbox){sum += book.price * book.count;}}return '¥' + sum.toFixed(2)}}}
</script><style scoped>table{width: 600px;border: 1px solid #888888;border-collapse: collapse;}th{background-color: #ccc;}td,th{border: 1px solid #888888;padding: 10px;}</style>

3、代码中相关内容说明:

(1)<caption>为table的标题

(2)在组件中使用v-for时,必须添加:key属性,否则会报错,为了性能考虑

(3)colspan属性,表示某个td横跨的列数

(4)splice()函数用于从当前数组中移除一部分连续的元素。参数包括start和deleteCount。

(5)border-collapse,折叠样式

http://www.lryc.cn/news/95096.html

相关文章:

  • MFC 基于数据库的管理系统
  • EfficientNet论文笔记
  • 系统学习Linux-SSH远程服务(二)
  • PyTorch训练RNN, GRU, LSTM:手写数字识别
  • 基于深度学习的高精度道路瑕疵检测系统(PyTorch+Pyside6+YOLOv5模型)
  • 【裸辞转行】是告别,也是新的开始
  • 了解交换机接口的链路类型(access、trunk、hybrid)
  • Android系统启动流程分析
  • 如何在Ubuntu上安装OpenneBula
  • 解决MySQL中分页查询时多页有重复数据,实际只有一条数据的问题
  • 【数据结构】时间复杂度---OJ练习题
  • 京东自动化功能之商品信息监控是否有库存
  • 【SwitchyOmega】SwitchyOmega 安装及使用
  • CentOS5678 repo源 地址 阿里云开源镜像站
  • 【LLM】Langchain使用[二](模型链)
  • 简单机器学习工程化过程
  • 【MongoDB】SpringBoot整合MongoDB
  • 关于游戏引擎(godot)对齐音乐bpm的技术
  • 【Go】实现一个代理Kerberos环境部分组件控制台的Web服务
  • Spring Security 6.x 系列【63】扩展篇之匿名认证
  • 供应链管理系统有哪些?
  • 如何在PADS Logic中查找器件
  • Android 生成pdf文件
  • Kafka 入门到起飞 - 生产者发送消息流程解析
  • 基于单片机智能台灯坐姿矫正器视力保护器的设计与实现
  • 欧姆龙以太网模块如何设置ip连接 Kepware opc步骤
  • PLEX如何搭建个人局域网的视频网站
  • java学习02
  • libcurl库使用实例
  • 大数据存储架构详解:数据仓库、数据集市、数据湖、数据网格、湖仓一体