今天做了一个简单的购物车功能,主要用了计算属性,指令等知识点,代码如下:

<template>
<div><div  id="cart" v-cloak><template v-if="itemlis.length"><table><thead><tr><th></th><th>商品名称</th><th>商品单价</th><th>购买数量</th><th>操作</th></tr></thead><tbody><tr v-for=" (item,index) in itemlis" :key="index"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.price}}</td><td><button
                            @click="handleReduce(index)":disabled="item.count ===1">-</button>{{item.count}}<button @click="handleAdd(index)">+</button></td><td><button @click="handleRemove(index)">移除</button></td></tr></tbody></table><div class="total">总价:¥{{totalPrice}}</div></template><div v-else>购物车为空</div></div>
</div>
</template>
<script>
import Vue from 'vue'
import VueResource from 'vue-resource'Vue.use(VueResource)
export default {data () {return {itemlis: []}},computed: {
//计算并获取总价totalPrice () {let total = 0for (let i = 0; i < this.itemlis.length; i++) {let item = this.itemlis[i]total += item.price * item.count}return total.toString().replace(/\B(?=(\d{3})+$)/g, ',')}},methods: {//获取商品列表getGoodList () {this.$http.get('api/goodlist').then(res => {var arrJson = JSON.parse(res.bodyText)this.itemlis = arrJson.data.list},function (err) {console.log(err)})},//减少商品数量handleReduce (index) {if (this.itemlis[index].count === 1) returnthis.itemlis[index].count--},//增加商品数量handleAdd (index) {this.itemlis[index].count++},//从购物车中移除该商品handleRemove (index) {this.itemlis.splice(index, 1)}},mounted () {//获取商品this.getGoodList()}
}
</script><style scoped>
.total{text-align: left ;
}
[v-cloak]{display: none;
}
table{border: 1px solid #e9e9e9;border-collapse: collapse;border-spacing: 0;empty-cells: show;
}
th,td{padding: 8px 16px;border:1px solid #e9e9e9;text-align: left }
th{background: #f7f7f7;color: #5c6b77;font-weight: 600;white-space: nowrap;
}
</style>

vue实现一个简单的购物车功能相关推荐

  1. vue使用组件化思想实现一个简单的购物车页面

    vue使用组件化思想实现一个简单的购物车页面 文章目录 vue使用组件化思想实现一个简单的购物车页面 页面预览 项目结构 组件介绍 主页面ShopCar Header组件 Goods组件 Count组 ...

  2. 【Vue3.0实战逐步深入系列】扩展投票功能基于elementui进行组件封装实现一个简单的问卷调查功能

    [千字长文,熬夜更新,原创不易,多多支持,感谢大家] 前言 小伙伴们大家好.在前面一偏文章中我们把投票功能进行了简单的改造:引入了axios第三方库并进行了二次封装用于模拟请求服务器数据.同时添加了一 ...

  3. 实现一个简单的投票功能

    实现一个简单的投票功能 最近项目中需要用到一个投票功能,当时觉得简单,向都没想就动手开始做,没想到走了不少弯路. 后来才发现,是想的太过简单了.来看看改进后的功能. 第一步:数据库设计 两个表:一个主 ...

  4. android实现计算器功能吗,利用Android实现一个简单的计算器功能

    利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...

  5. vue设置一个简单的计算器

    vue设置一个简单的计算器 <div id="app"><input type="text" v-model="n1"&g ...

  6. java计算机毕业设计vue开发一个简单音乐播放器(附源码、数据库)

    java计算机毕业设计vue开发一个简单音乐播放器(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  7. 一个简单的购物车加减按钮

    一个简单的购物车加减按钮,自定义控件实现,非常简单,有兴趣的可以自己尝试一下 import android.content.Context; import android.util.Attribute ...

  8. java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  9. 知识图谱实战应用11-基于py2neo构建一个简单的问答功能

    大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用10-基于py2neo构建一个简单的问答功能,利用知识图谱来实现智能的问答功能.知识图谱是一种用于表示实体之间关系的图形化模型,它是人工智能和自 ...

最新文章

  1. LeetCode实战:两数之和
  2. Andorid 布局layout_margin和padding分析
  3. 在python中排序元组
  4. Python递归调用
  5. html里table的遍历,js遍历table中的tr
  6. Study之2 Glance相关操作-devstack
  7. java 局部内部类常用么_Java中的内部类
  8. 哪种消息队列更好_如何编写更好的错误消息
  9. 转载:AD的授权还原和主还原:深入浅出Active Directory系列(六)
  10. Glide:重新加载失败的问题
  11. 【转载】来自架构师的建议
  12. 宏基掠夺者圣盾5000、圣盾3000 评测
  13. 多目标跟踪(MOT,Multiple Object Tracking)评价指标
  14. 论文研读笔记(二)——VGG
  15. 系统关键文件丢失或损坏
  16. 【DASH】低延迟流式传输和新算法
  17. 候选码,主码,外码,主属性,非主属性
  18. Raw NAND FLASH原理及ONFI接口标准
  19. 路径规划算法学习Day5
  20. Maven-将jar包发布到本地maven仓库与私服

热门文章

  1. php 置信区间 计算,深度学习篇-如何理解置信区间
  2. CentOS7.9安装及配置
  3. C语言的变量怎样重启后不变,求解释,怎么能让程序里的变量在关闭后依然保存呢?...
  4. java 防止js注入_在WebView中如何让JS与Java安全地互相调用
  5. 火狐浏览器表单不跳转_表单button的outline在firefox浏览器下的问题
  6. centos7 安装 vsftpd 过程
  7. JQuery实现——黑客帝国代码雨效果
  8. FPGA和CPLD的比较
  9. python beautifulsoup多线程分析抓取网页
  10. Android 基本开发规范(必读)