需求:具有增加数量、减少数量、移除书信息、计算总价等功能。

HTML:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>书籍购物车</title><link rel="stylesheet" href="style.css">
</head>
<body>
<div id="app"><div v-if="books.length"><table><thead><tr><th></th><th>书籍名称</th><th>出版日期</th><th>价格</th><th>购买数量</th><th>操作</th></tr></thead><tbody><tr v-for="(book,index) in books"><td>{{book.id}}</td><td>{{book.name}}</td><td>{{book.date}}</td><td>{{book.price | showPrice}}</td><td><button @click="sub(index)" :disabled="book.count<=1">-</button>{{book.count}}<button @click="add(index)">+</button></td><td><button @click="removeHandler(index)">移除</button></td></tr></tbody></table><h2>总价格:{{totalPrice | showPrice}}</h2></div><h2 v-else>购物车为空</h2>
</div><script src="../js/vue.js"></script>
<script src="main.js"></script>
</body>
</html>

CSS:

table {border: 1px solid #e9e9e9;border-collapse: collapse;border-spacing: 0;
}th, td {padding: 8px 16px;border: 1px solid #e9e9e9;text-align: left;
}th {background-color: #f7f7f7;color: #5c6b77;font-weight: 600;
}

Vuejs

const app = new Vue({el: '#app',data: {books: [{id: 1,name: '《算法导论》',date: '2006-9',price: 85.00,count: 1},{id: 2,name: '《UNIX编程艺术》',date: '2006-2',price: 59.00,count: 1},{id: 3,name: '《编程珠玑》',date: '2008-10',price: 39.00,count: 1},{id: 4,name: '《数据结构与算法分析》',date: '2016-9',price: 79.00,count: 1},{id: 5,name: '《计算机网络》',date: '2012-9',price: 119.00,count: 1}]},methods: {sub(index) {this.books[index].count--;},add(index) {this.books[index].count++;},removeHandler(index) {this.books.splice(index,1)}},computed: {totalPrice() {let totalPrice = 0;for (let i=0;i<this.books.length;i++){totalPrice += this.books[i].price * this.books[i].count;}return totalPrice;}},filters: {showPrice(price) {return '¥' + price.toFixed(2);}}
})

基于Vue开发的购物车案例相关推荐

  1. 基于Vue开发的电商APP项目——蘑菇街app

    基于Vue开发的电商APP项目--蘑菇街 项目源码:https://github.com/Limna777/Shopmall.git 1.项目描述 2.使用的插件或第三方库 3.页面主要实现的功能 1 ...

  2. value数字 vue_基于Vue开发数字输入框组件

    随着 vue 越来越火热, 相关组件库也非常多啦, 只用轮子怎么够, 还是要造起来!!! 1.概述 vue组件开发的api:props.events和slots 2.组件代码 效果: (1)index ...

  3. 2021年基于VUE开发的一套移动端APP小说 听书AI男女多种 支持云端存储书籍记录

    2021年基于VUE开发的一套移动端APP小说 前端架构主要采用: "axios": "^0.21.1", "better-scroll": ...

  4. 基于vue开发的移动端(仿蘑菇街,淘宝)电商项目

    基于vue.js的知识点(webpack,Vuex,Vue-router,axios)开发电商手机网站项目 组件库:vantUI.ElementUI 码云地址:https://gitee.com/YG ...

  5. vue 音乐盒app_VBox 一款基于vue开发的音乐盒 序章

    自己基于vue写了一个 Mplayer, 只有简单的搜索播放随心听功能,样式适配上也很差, 路由就两个,数据都走vuex,数据转发是用nodejs自己转发,而且只是PC能比较好的展现,之后不了了之,偶 ...

  6. 基于Vue开发一个日历组件

    最近在做一个类似课程表的需求,需要自制一个日历来支持功能及展现,就顺便研究一下应该怎么开发日历组件. 更新 2.23修复了2026年2月份会渲染多一行的bug,谢谢@深蓝一人童鞋提出的bug,解决方案 ...

  7. 移动Web体验月报(6月):MIP 核心代码升级,增加基于 Vue 开发能力

    原创: BrilliantOpenWeb OpenWeb开发者 7月6日 作者 | Brilliant Open Web 团队 编辑 | Daisy 升级与重要进展 历时2个月,MIP团队完成了核心代 ...

  8. npm 编译打包vue_从零到一教你基于vue开发一个组件库

    前言 Vue是一套用于构建用户界面的渐进式框架,目前有越来越多的开发者在学习和使用.在笔者写完 徐小夕:如何从0到1教你搭建前端团队的组件系统​zhuanlan.zhihu.com 之后很多朋友希望了 ...

  9. 我的第一个Chrome小插件-基于vue开发的flexbox布局CSS拷贝工具

    概述 之前介绍过 移动Web开发基础-flex弹性布局(兼容写法) 里面有提到过想做一个Chrome插件,来生成flexbox布局的css代码直接拷贝出来用.最近把这个想法实现了,给大家分享下. pl ...

最新文章

  1. WaitForSingleObject和WaitForMultipleObjects用法
  2. VC6工程升级VS2013遇到的问题
  3. Linux 内核 动态设备
  4. Oracle优化07-分析及动态采样-DBMS_STATS 包
  5. 【Nginx】访问日志里有大量的 HEAD 方法请求
  6. yum 安装jdk_03Centos安装JDK
  7. 在linux文件共享接口,入坑Linux-day13(使用vsftpd服务传输文件、使用Samba或NFS实现文件共享)...
  8. matlab神经网络函数
  9. MySQL 本可以用Workbench,为什么还要Navicat
  10. Windows 10通过本地镜像离线安装.NET 3.5
  11. 86.最少连接算法以及如何跨worker进程生效
  12. STM32F103C8T6基于HAL库移植uC/OS-III
  13. LuoguP3356 火星探险问题(费用流)
  14. 编译超频Android内核,安卓超频工具apk下载
  15. 精益软件度量之读书笔记(一)度量和组织目标
  16. IDEA编译输出/控制台改为英文,运行信息报错信息改为英文
  17. 头条校招(今日头条2017秋招真题)
  18. 纪念日或者悼念日 网站改为灰白模式
  19. MySql数据库解锁ACT_DE_DATABASECHANGELOGLOCK
  20. 【机器学习】简述多种降维算法

热门文章

  1. 如果你没用过maven的install,你应该了解一下!maven中的install功能及用法。
  2. Oracle根据日期区间查询Date类型的数据
  3. 进入Docker容器命令
  4. 【Spring】工厂模式解耦
  5. centos7安装JDK1.7
  6. 卷积核输出特征图大小的计算 深度学习
  7. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法
  8. Python isinstance() 函数
  9. 低数值精度推理和训练
  10. OpenCV读写视频文件解析(二)