效果图:
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="external nofollow" />
</head>
<body>
<div id="app" class="container">
<table class="table">
<thead>
<tr>
<th>产品编号</th>
<th>产品名字</th>
<th>购买数量</th>
<th>产品单价</th>
<th>产品总价</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(item , index) in message">
<td @click="jia(index)">{{item.id}}</td>
<td>{{item.name}}</td>
<td>
<button type="button" class="btn tn-primary" @click="subtract(index)">-</button>
<input type="text" v-model="item.quantity">
<button type="button" class="btn tn-primary" @click="add(index)">+</button>
</td>
<td>{{item.price | filtermoney}}</td>
<!--<td>{{arr[index].one}}</td>-->
<td>{{item.price*item.quantity | filtermoney}}</td>
<td>
<button type="button" class="btn btn-danger" @click="remove(index)">移除</button>
</td>
</tr>
<tr>
<td>总购买价
</td>
<td>
{{animatenum | filtermoney}}
</td>
<td>总购买数量
</td>
<td>
</td>
<td colspan="2">
<button type="button" class="btn btn-danger" @click="empty()">清空购物车</button>
</td>
</tr>
</tbody>
</table>
<p v-if="message.length===0">您的购物车为空</p>
</div>
<script src="https://unpkg.com/tween.js@16.3.4"></script>
<script src="https://cdn.bootcss.com/vue/2.2.3/vue.min.js"></script>
<script>
var vm=new Vue({
el:"#app",
data:{
totalPrice:0,
animatenum:0,
message:[
{
id: 007,
name: 'iphone5s',
quantity: 3,
price: 4000
},{
id: 1340,
name: 'iphone5',
quantity: 9,
price: 3000
},{
id: 7758,
name: 'imac',
quantity: 4,
price: 7000
},{
id: 2017,
name: 'ipad',
quantity: 5,
price: 6000
}
]
},
watch:{
toComput2:function(newValue,oldValue){
this.tween(newValue,oldValue);
}
},
computed:{
//计算总金额
toComput2:function(){
var vm=this;
//每次进来要重置总金额
vm.totalPrice=0;
this.message.forEach(function(mess){
vm.totalPrice+=parseInt(mess.price*mess.quantity);
})
return this.totalPrice;
}
},
filters:{
filtermoney:function(value){
return '¥'+value ;
}
},
mounted:function(){
this.tween('97000','0');
},
methods:{
//计算总数的方法为什么写在methods里面就不行?
toComput:function(){
var vm=this;
vm.message.forEach(function(mess){
vm.totalPrice+=parseInt(mess.price*mess.quantity);
})
return vm.totalPrice;
},
add:function(index){
var vm=this;
vm.message[index].quantity++;
},
subtract:function(index){
var vm=this;
vm.message[index].quantity--;
if(vm.message[index].quantity<=0){
if (confirm("你确定移除该商品?")) {
vm.message.splice(index,1)
}
}
},
remove:function(index){
var vm=this;
if (confirm("你确定移除该商品?")) {
vm.message.splice(index,1)
}
},
empty:function(){
var vm=this;
vm.message.splice(0,vm.message.length);
},
jia:function(index){
var vm=this;
vm.arr[index].one++;
},
tween:function(newValue,oldValue){
var vm=this;
var twen=new TWEEN.Tween({animatenum:oldValue});
function animate() {
requestAnimationFrame(animate);
TWEEN.update();
};
twen.to({animatenum:newValue},750);
twen.onUpdate(function(){
//toFixed();保留几位小数
vm.animatenum = this.animatenum.toFixed();
})
twen.start();
animate();
}
}
});
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# vue实现购物车
# vue.js实现购物车
# vue
# 实现购物车结算
# 基于Vuejs实现购物车功能
# Vuejs实现购物车功能
# vue实现商城购物车功能
# vuex实现的简单购物车功能示例
# Vue实现购物车详情页面的方法
# vue实现购物车小案例
# vue 实现购物车总价计算
# vue.js实现简单购物车功能
# vue实现购物车功能(亲测可用)
# 前端Vue学习之购物车项目实战记录
# 移除
# 购物车
# 该商品
# 总金额
# 您的
# 几位
# 写在
# 清空
# 为空
# click
# item
# td
# message
# index
# table
# container
# app
# thead
# tbody
# tr
相关文章:
建站之星安装模板失败:服务器环境不兼容?
,网站推广常用方法?
建站之星备案流程有哪些注意事项?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速登录WAP自助建站平台?
建站之星后台管理系统如何操作?
已有域名和空间如何搭建网站?
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
c++怎么用jemalloc c++替换默认内存分配器【性能】
北京企业网站设计制作公司,北京铁路集团官方网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何高效完成独享虚拟主机建站?
如何选择域名并搭建高效网站?
宝塔新建站点为何无法访问?如何排查?
制作公司内部网站有哪些,内网如何建网站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
已有域名如何快速搭建专属网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
建站主机是什么?如何选择适合的建站主机?
如何在自有机房高效搭建专业网站?
建站之星备案是否影响网站上线时间?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之星如何配置系统实现高效建站?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
高端企业智能建站程序:SEO优化与响应式模板定制开发
已有域名能否直接搭建网站?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
网页设计与网站制作内容,怎样注册网站?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何快速搭建安全的FTP站点?
高端网站建设与定制开发一站式解决方案 中企动力
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
广州商城建站系统开发成本与周期如何控制?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
视频网站制作教程,怎么样制作优酷网的小视频?
网站制作免费,什么网站能看正片电影?
郑州企业网站制作公司,郑州招聘网站有哪些?
建站之星代理商如何保障技术支持与售后服务?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
,sp开头的版面叫什么?
Swift中循环语句中的转移语句 break 和 continue
*请认真填写需求信息,我们会在24小时内与您取得联系。