vue简单实现购物车结算功能
作者:Amnesia? 发布时间:2024-05-28 15:54:57
标签:vue,购物车,结算
本文实例为大家分享了vue简单实现购物车结算的具体代码,供大家参考,具体内容如下
样式没有写
<template>
<div class="about container">
<button class="btn btn-default">
<router-link to="/customers">返回主页</router-link>
</button>
<button>获取数据</button>
<ul>
<li v-for="(item,index) in this.list" :key="index">
<div>
<input type="checkbox" v-model="item.checked" />
<span>{{item.title}}</span>
<button class="btn btn-default" @click="reduce(index)">-</button>
<span>{{item.num}}</span>
<button class="btn btn-default" @click="add(index)">+</button>
<span>价格:{{item.price}}</span>
<button @click="del(index,item._id)" class="btn btn-default">删除</button>
</div>
</li>
</ul>
<input type="checkbox" v-model="allcheck" @click="checkall" />
<button>合计:{{totalMoney}}</button>
</div>
</template>
<script>
export default {
name: "about",
// 调用app.vue组件中的方法
inject: ["reload"],
data() {
return {
list: [],
allcheck: false
};
},
methods: {
async getproduct() {
const res = await this.$http.get("/goodslist");
this.list = res.data;
localStorage.setItem("shoppingcart", JSON.stringify(this.list));
console.log(this.list);
},
add(i) {
this.list[i].num++;
},
reduce(i) {
if (this.list[i].num <= 1) {
this.list[i].num = 0;
return;
}
this.list[i].num--;
},
checkall() {
// console.log(this.allcheck);
console.log(event.target.checked);
this.list.forEach(item => {
item.checked = event.target.checked;
// console.log(item._id)
});
},
async del(i, id) {
const res = await this.$http.delete("/delfile/" + id);
console.log(res);
this.reload();
}
},
computed: {
totalMoney() {
let allmoney = 0;
let isAllCheck = true;
for (let i in this.list) {
if (this.list[i].checked) {
allmoney += this.list[i].price * this.list[i].num;
} else {
isAllCheck = false;
}
}
this.allcheck == isAllCheck;
return allmoney;
}
},
created() {
this.getproduct();
}
};
</script>
<style>
li {
list-style: none;
}
</style>
来源:https://blog.csdn.net/qq_44242030/article/details/104939702


猜你喜欢
- (1)数据记录筛选: sql="select*from数据表where字段名=字段值orderby字段名[desc]"
- © 版权符号显示不清楚,就是那个圈C,在某些网站上就是显示太小,看不清楚。一开始还以为是字体大小的原因,调大以后,还是一样
- 前言进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清。一方面除了工作中可能用的比较少,另一方面就是这些
- PHP中重定向网页跳转页面的方法(共三种)第一种:利用header()函数进行重定向,这也是我用的较多的。(注意!locationhe和“:
- 用dicompyler软件打开dicom图像,头文件如图所示:当然也可以直接读取:ds = dicom.read_file('H:\
- CentOS mysql安装还是很常用的软件,我就学习如何CentOS mysql安装,在这里拿出来和大家分享一下,希望对大家有用。Cent
- 本文实例讲述了Python实现的矩阵类。分享给大家供大家参考,具体如下:科学计算离不开矩阵的运算。当然,python已经有非常好的现成的库:
- tkinter创建登陆注册界面,供大家参考,具体内容如下import tkinter as tkfrom tkinter import me
- 一、tensorboard的简要介绍TensorBoard是一个独立的包(不是pytorch中的),这个包的作用就是可视化您模型中的各种参数
- 大家可能经常会遇到这种情况:sql="select * from table"set rs=conn.execute(s
- 本文实例为大家分享了JavaScript实现动态数字时钟的具体代码,供大家参考,具体内容如下实现效果代码实现<!DOCTYPE htm
- 一般的多数据库支持在配置文件中如下: <connectionStrings> <add name="MyCmsC
- 原始数据如下:['e3cd', 'e547', 'e63d', '0ffd'
- 本文实例讲述了Python图像处理之颜色的定义与使用。分享给大家供大家参考,具体如下:python中的颜色相关的定义在matplotlib模
- 遍历目录或遍历目录下指定类型的文件,这是每一个童鞋在写程序的时候难免会用到的。PHP本身也提供了很多灰常有用的函数,正确地使用它们,不会有错
- python有时候需要清除字符串前后空格,而字符本身的空格不需要清除掉,那就不能用正则re.sub来实现。这时用到strip()函数用法:s
- 爬取一些网站下指定的内容,一般来说可以用xpath来直接从网页上来获取,但是当我们获取的内容不唯一的时候我们无法选择,我们所需要的、所指定的
- 1.操作数据库 1.1创建数据库create + database + 数据库名称当然如果我们不知道数据库是否存在,如果存在就不创
- def sa_obj_to_dict(obj, filtrate=None, rename=None):
- 首先mysql更新数据的某个字段,一般这样写:UPDATE mytable SET myfield = 'value' WH