Vue商品添加到购物车

用Vue实现把商品添加到购物车然后计算购物车里商品总金额。

功能分析:
1.商品添加到购物车
2.购物车显示商品的名称数量价格
3.计算购物车商品的总金额
4.删除购物车商品

效果演示

原始样式
在这里插入图片描述
添加商品在这里插入图片描述
增加商品数量
在这里插入图片描述
下面向大家展示一下实现的过程。

代码演示

注意:
引入Vue.js架包

总体代码

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><script src="js/vue.js"></script></head>
<style>tr,th{width: 110px;height: 30px;text-align: center;}
</style>
<body><div id="shop"></div></body>
<script >//购物车模块var Chat={//子组件接收父组件传递的数据props:['chatarr'],template:`<div>我的课程<table border="1"><tr><th>选中</th><th>课程</th><th>数量</th><th>价格</th></tr><tr v-for='(chat,index) in chatarr'><td><input type="checkbox" v-model='chat.active' name=""></td><td>{{chat.text}}</td><td><span @click='reducecount(index)'>-</span>{{chat.count}}<span @click='addcount(index)'>+</span></td><td>{{chat.count*chat.price}}</td></tr><tr><td colspan='2'>选中的课程:{{activeCount}}/{{count}}</td><td colspan='2'>需付金额:{{totalpirce}}</td></tr></table></div>`,computed:{activeCount(){return this.chatarr.filter(v=>v.active).length},count(){return this.chatarr.length},totalpirce(){let total = 0;this.chatarr.forEach(v=>{if(v.active){total+=v.price*v.count}})return total}},methods:{//点击减号减少商品数量reducecount(index){if(this.chatarr[index].count>1){this.chatarr[index].count--}else{if(window.confirm(`确认删除${this.chatarr[index].text}?`))this.chatarr.splice(index,1)}},//点击加号增加商品数量addcount(index){this.chatarr[index].count++},	},watch:{chatarr:{handler(){window.localStorage.setItem('chat',JSON.stringify(this.chatarr))},deep:true}}}//实例化new Vue({el:'#shop',template:`<div><div>课程:<input type="text" name="" v-model='course'>价格:<input type="text" name="" v-model='price'><button @click='addcourse'>添加课程</button></div><ul><li  v-for='(list,index) in classlist'>课程名称:{{list.text}}---价格:{{list.price}}<button @click='addtochat(index)'>添加到我的课程</button></li></ul><!-- 父组件给子组件传递数据 --><chat :chatarr='chatarr' ></chat></div>`,components:{Chat},data:{classlist:[],course:'',price:'',//存放购物车信息的数组chatarr:[],},methods:{//添加商品addcourse(){//插入数据this.classlist.push({text:this.course,price:this.price})//清空输入的内容this.course=''this.price=''},//添加到购物车addtochat(index){const goods=this.classlist[index]const result = this.chatarr.find(v=>v.text==goods.text)if(result){result.count+=1}else{this.chatarr.push({...goods,count:1,active:true})}},},created(){if(window.localStorage.getItem('chat')!=null){//获取本地存储数据this.chatarr=JSON.parse(window.localStorage.getItem('chat')) }}})</script>
</html>

扫一扫关注我的公众号获取更多资讯!!!
在这里插入图片描述

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

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

相关文章

【OpenCV 例程200篇】78. 频率域图像滤波基础

【OpenCV 例程200篇】78. 频率域图像滤波基础 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 频率域低通滤波器 图像变换是对图像信息进行变换&#xff0c;使能量保持但重新分配&#xff0…

H5 Canvas下雨特效

模仿下雨的特效&#xff0c;雨点从空中随机飘落。 这个特效使用了H5的新特性Canvas。 效果演示 代码展示 body代码 <!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>H5 Canvas下雨特效</titl…

用Notepad++来编写第一个HTML网页程序,你也可以!!!

学习任何一门编程语言&#xff0c;我们都要迈出第一步&#xff0c;运行第一个代码.我还记得当第一次运行成功python的"hello word"时的激动&#xff0c;还有html时的开心&#xff0c;反正收获蛮大的。哈哈&#xff0c;还是进入正题吧^o^/ 1.打开notepad&#xff0c;点…

【OpenCV 例程200篇】79. 频率域图像滤波的基本步骤

【OpenCV 例程200篇】79. 频率域图像滤波的基本步骤 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 频率域低通滤波器 空间域滤波器和频率域滤波器实际上是相互对应的&#xff0c;有些空间…

别踩白块小游戏

用H5新特性实现别踩白块小游戏。 功能分析&#xff1a; 1.游戏开始按钮 2.每点中一个记一分 3.分数达到二十弹出鼓励弹框 4.点击错误则游戏结束 效果演示 看了效果有没有急迫的心情呢&#xff1f; 代码演示 body内容 <body><h2>本次得分</h2><h2 id…

鸿蒙不是安卓也不是Linux

1.1 鸿蒙不是Linux&#xff0c;也不是安卓 很多人会混淆鸿蒙跟Linux的关系。 先举个例子&#xff0c;大家很熟悉的Windows里面含有内核&#xff0c;也含有UI系统&#xff0c;含有桌面程序&#xff0c;普通人可以直接使用Windows。但是Linux仅仅是一个内核(它提供进程管理、文…

【OpenCV 例程200篇】80. 频率域图像滤波详细步骤

【OpenCV 例程200篇】80. 频率域图像滤波详细步骤 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 频率域低通滤波器 3.2 频率域图像滤波的步骤 上节例程中通过一个简单的低通滤波遮罩 mas…

Struts 2框架创建的第一个项目

创建我的第一个Struts 2项目。 用Struts 2框架创建一个简单的WEB项目。 效果演示 登录页面 登陆成功之后显示的页面 在程序正式开始之前注意引入架包&#xff08;注意&#xff1a;架包放在WEB-INF下面的lib包里&#xff09; Struts 2一共有13个架包如下图所示 在开始我们…

Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!

请认真阅读哦&#xff01;&#xff01;&#xff01; 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容&#xff0c;许多地方都是用到字符串的基本操作&#xff0c;前面讲了列表、元组&#xff0c;这次就来说说字符串吧 文章目录字符串的常用操作&#xff1a;1.拼接…

【OpenCV 例程200篇】81. 频率域高斯低通滤波器

【OpenCV 例程200篇】81. 频率域高斯低通滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3.3 频率域高斯低通滤波器&#xff08;GLPF&#xff09; 例程 8.16 以理想低通滤波器为例&…

设备缺陷管理系统

用Jsp Servlet和Jquery实现设备缺陷管理系统。 设备缺陷管理系统采用MVC三层架构模式进行开发&#xff0c;有效地解决了对缺陷设备的管理和修正。 效果演示&#xff1a; 查询和联合查询页面 添加页面 点击删除之后 功能分析&#xff1a; 1.查询所有设备 2.联合查询 3.添…

【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器

【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3.4 频率域巴特沃斯低通滤波器&#xff08;BLPF&#xff09; 截止频率位于距频率中心 D0D_…

商品管理系统

用Jsp Servlet和Jquery以及SQLServer实现商品管理系统。 采用MVC三层架构进行此程序的开发。 功能分析&#xff1a; 1.登录功能 2.查询和联合查询商品 3.增加商品 4.删除商品 效果演示 登录页面 查询页面 添加商品 点击删除 实现商品管理系统需要数据库和程序两部分。…

【OpenCV 例程200篇】83. 频率域低通滤波:印刷文本字符修复

【OpenCV 例程200篇】83. 频率域低通滤波案例&#xff1a;印刷文本字符修复 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3.5 频率域低通滤波&#xff1a;印刷文本字符修复 低通滤波技术主要…

Python入门基础篇(五)字符串的正则表达式re模块,全面解析!!!

文章目录前言一.匹配字符串的方法1.使用match()方法进行匹配2.使用search()方法进行匹配3.使用findall方法进行匹配二.替换字符串三.使用正则表达式分割字符串前言 Python中提供了re模块用于正则表达式的操作&#xff0c;在实现时可以用re模块提供的多种方法对字符串进行处理&…

Vue 动态数据滚动

使用Vue动态滚动&#xff08;上下滚动&#xff09;显示将要展示的讯息。 代码分析&#xff1a; 1.设置固定样式的框架内容 2.设置红色字体内容是动态变化的 3.滚动效果为向上滚动 效果演示&#xff1a; 此效果图的数据是不停滚动变化的 第二张效果图 代码演示&#xff1a…

Python入门进阶篇(六)字典的介绍

请仔细阅读哦&#xff01;&#xff01;&#xff01; 文章目录前言一、Python字典的创建与删除1.字典的创建2.字典的删除二、Python字典的访问1.通过“键值对”访问字典2.遍历字典三、Python字典的添加、修改和删除元素1.字典元素的添加2.修改字典元素3.删除字典元素前言 前面写…

【OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器

【OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 4. 频率域高通滤波器 图像边缘化其它灰度的急剧变化与高频分量有关&#xff0c;因此可以…

Vue 数字时钟

用Vue写了一个简单的时间钟。 此时钟内容包括年月日及星期和时分秒。 功能分析&#xff1a; 1.年份&#xff0c;日期&#xff0c;时间的显示 2.动态的变化 3.获取本地时间方法 效果图演示 代码演示 注意&#xff1a;引入vue.min.js架包 <script src"js/vue.min.js…

【OpenCV 例程200篇】85. 频率域高通滤波器的应用

【OpenCV 例程200篇】85. 频率域高通滤波器的应用 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 4. 频率域高通滤波器 图像边缘化其它灰度的急剧变化与高频分量有关&#xff0c;因此可以在频…