效果图:
代码如下:
<!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
相关文章:
移民网站制作流程,怎么看加拿大移民官网?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
重庆市网站制作公司,重庆招聘网站哪个好?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
电商平台网站制作流程,电商网站如何制作?
宝塔建站助手安装配置与建站模板使用全流程解析
上海网站制作开发公司,上海买房比较好的网站有哪些?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站之星官网登录失败?如何快速解决?
在线制作视频的网站有哪些,电脑如何制作视频短片?
,柠檬视频怎样兑换vip?
如何快速搭建安全的FTP站点?
如何在Golang中指定模块版本_使用go.mod控制版本号
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站之星代理如何获取技术支持?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
建站主机选购指南:核心配置优化与品牌推荐方案
如何在局域网内绑定自建网站域名?
建站主机是什么?如何选择适合的建站主机?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
网站制作企业,网站的banner和导航栏是指什么?
如何撰写建站申请书?关键要点有哪些?
如何续费美橙建站之星域名及服务?
建站主机服务器选购指南:轻量应用与VPS配置解析
建站主机如何选?高性价比方案全解析
C#如何使用XPathNavigator高效查询XML
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
PHP正则匹配日期和时间(时间戳转换)的实例代码
深圳网站制作的公司有哪些,dido官方网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
香港服务器租用每月最低只需15元?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
音乐网站服务器如何优化API响应速度?
股票网站制作软件,网上股票怎么开户?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何在腾讯云服务器上快速搭建个人网站?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
建站之星收费标准详解:套餐费用及年费价格表一览
如何在阿里云服务器自主搭建网站?
教程网站设计制作软件,怎么创建自己的一个网站?
实例解析angularjs的filter过滤器
如何在万网自助建站中设置域名及备案?
如何做网站制作流程,*游戏网站怎么搭建?
Python多线程使用规范_线程安全解析【教程】
文字头像制作网站推荐软件,醒图能自动配文字吗?
济南专业网站制作公司,济南信息工程学校怎么样?
如何在IIS中新建站点并配置端口与IP地址?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何在Golang中使用replace替换模块_指定本地或远程路径
*请认真填写需求信息,我们会在24小时内与您取得联系。