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打开其他项目页面并传入数据详解
Nov 25 Vue.js
Vue实现图书管理小案例
Dec 03 Vue.js
Vue仿百度搜索功能
Dec 28 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
VUE实现吸底按钮
Mar 04 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
vue判断按钮是否可以点击
Apr 09 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
ie 调试javascript的工具
2009/04/29 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
jquery 学习笔记一
2010/04/07 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
js 通用订单代码
2013/12/23 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python素数检测的方法
2015/05/11 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python机器学习之神经网络实现
2018/10/13 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python3实现字符串操作的实例代码
2019/04/16 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
大学生就业推荐信范文
2013/11/29 职场文书
党员党性分析材料
2014/02/17 职场文书
餐厅筹备计划书
2014/04/25 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
南京导游词
2015/02/03 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
机关工会工作总结2015
2015/05/26 职场文书