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 24 Vue.js
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
vue项目实现分页效果
Mar 24 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
vue-element-admin项目导入和导出的实现
May 21 Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
Vue中使用import进行路由懒加载的原理分析
Apr 01 Vue.js
三种方式清除vue路由跳转router-link的历史记录
Apr 10 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
JavaScript 基本概念
2015/01/20 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
wxPython实现分隔窗口
2019/11/19 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
过滤器的用法
2013/10/08 面试题
自荐信格式的六要素
2013/09/21 职场文书
小学生秋游活动方案
2014/02/23 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
培训协议书范本
2014/04/22 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
让生命充满爱观后感
2015/06/08 职场文书
天那边观后感
2015/06/09 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书