vue编写简单的购物车功能


Posted in Vue.js onJanuary 08, 2021

使用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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
如何让vue长列表快速加载
Mar 29 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
vue 自定义的组件绑定点击事件
Apr 21 Vue.js
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
VUE递归树形实现多级列表
Jul 15 Vue.js
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 #Vue.js
vuex的使用和简易实现
Jan 07 #Vue.js
vue watch监控对象的简单方法示例
Jan 07 #Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 #Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 #Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 #Vue.js
vue3中轻松实现switch功能组件的全过程
Jan 07 #Vue.js
You might like
虫族 ZERG 概述
2020/03/14 星际争霸
SONY ICF-F10中波修复记
2021/03/02 无线电
全文搜索和替换
2006/10/09 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
jQuery的attr与prop使用介绍
2013/10/10 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
浅谈Python单向链表的实现
2015/12/24 Python
Python subprocess模块详细解读
2018/01/29 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python列表使用实现名字管理系统
2019/01/30 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python通过len函数返回对象长度
2020/10/22 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
纽约海:Sea New York
2018/11/04 全球购物
大专会计自我鉴定
2014/02/06 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle