如何用vue框架写一个简单的购物车功能
Admin 2022-06-14 群英技术资讯 930 次浏览
今天小编跟大家讲解下有关“如何用vue框架写一个简单的购物车功能”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。使用vue写出简单的购物车,供大家参考,具体内容如下

代码:
// An highlighted block
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.cl{
border: 1px solid black;
width: 300px;
margin: 30px;
padding: 15px;
}
</style>
</head>
<body>
<div id="app">
<div class="cl" v-for="(item,index) in items">
<h4>{{item.sname}}</h4>
<button @click="item.sum==0?item.sum==0:item.sum--">-</button>
<span>{{item.sum}}</span>
<button @click="item.sum++">+</button>
<span>{{item.sprice}}元/斤</span>
</div>
<table>
<tr>
<th>选择</th>
<th>商品名</th>
<th>商品数量</th>
<th>商品价格</th>
</tr>
<tr v-for="(item,index) in items">
<td><input type="checkbox" :checked="item.isSelect" @click="item.isSelect=!item.isSelect"></td>
<td>{{item.sname}}</td>
<td>{{item.sum}}</td>
<td>{{item.sprice*item.sum}}</td>
</tr>
<tr>
<td><input type="checkbox" @click="selectProduct(isSelectAll)" :checked="isSelectAll">全选</tf>
<td>合计</tf>
<td>{{total.totalNum}}</tf>
<td>{{total.totalPrice}}</tf>
</tr>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
items:[
{
'sname':'苹果',
'sum':1,
'sprice':'10',
},
{
'sname':'香蕉',
'sum':1,
'sprice':'12',
},
{
'sname':'橘子',
'sum':1,
'sprice':'8',
},
]
},
methods:{
selectProduct:function(_isSelect){
for(var i=0 ,len=this.items.length;i<len;i++){
this.items[i].isSelect=!_isSelect;
}
},
},
computed:{
isSelectAll:function(){
return this.items.every(function(val){return val.isSelect})
},
total:function(){
var prolist = this.items.filter(function(val){return val.isSelect});
totalpri = 0;
totalnum = 0;
for (var i = 0;i<prolist.length;i++){
totalpri+=prolist[i].sprice*prolist[i].sum;
totalnum+=prolist[i].sum
}
return{totalNum:totalnum,totalPrice:totalpri}
}
},
mounted:function(){
var _this=this;
this.items.map(function(item){
_this.$set(item,'isSelect',false)
})
}
})
</script>
</body>
</html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章我们来了解jQuery触发change事件的方法,手动触发改变事件我们需要使用到change()方法,接下来我们通过示例来了解change()方法的使用及触发改变事件的实现,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了JavaScript 沙箱探索,沙箱是基于 event bus 形式的通信实现上层的功能,文章的例子选择接口实现了 web worker 与 quickjs 的 EventEmitter,,需要的朋友可以参考一下
状况:本地的前端项目(uni-app)以及后台管理(vue-mongo-node)和本地mongo数据库前台项目端口是8082,后台数据接口是8081.跨域解决,直接上代码:uni-app的mainfest.json下: 红色部分代理(node设置允许跨域之后,不加这部分的代理也可以跨域请求) 可加可不加"app-plus":{/*5+App特有相关*/"splashsc
利用JavaScript实现仿QQ个人资料卡效果 目录 前言 思路 实现代码 HTML CSS 背景音乐 JavaScript 最终效果 前言 最近在学习前端的知识,无意间发现QQ 那个个人资料卡还挺好看的,就想着自己能不能照着原版搞出一个高仿出来,话不多时直接开始先睡上一觉,找找灵感,睡醒来又饿了,出去吃个饭,回来天tm都黑了,哈哈哈哈,金今天又是摆烂的一天,啊啊啊,不行至少今天这篇博客得写个前言部分…于是乎我们来到第二天,开始干(要干啥来着,幸亏昨天还写了个标题,要不然都忘了——HTML+CSS+JS实现仿QQ个人资料卡) 不多逼逼直接上干
本文主要介绍了React Fragment介绍与使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008