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自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
vue实现登录功能
Dec 31 Vue.js
如何在 Vue 中使用 JSX
Feb 14 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
vue完美实现el-table列宽自适应
May 08 Vue.js
vue-cli4.5.x快速搭建项目
May 30 Vue.js
vue+iview实现手机号分段输入框
Mar 25 Vue.js
vue封装数字翻牌器
Apr 20 Vue.js
Vue ECharts实现机舱座位选择展示功能
May 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
十天学会php之第七天
2006/10/09 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
javascript中this关键字详解
2016/12/12 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
JS中的多态实例详解
2017/10/15 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
Python smallseg分词用法实例分析
2015/05/28 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python实现归并排序算法
2018/11/22 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
什么是岗位职责
2013/11/12 职场文书
青年教师培训方案
2014/02/06 职场文书
教师求职自荐书
2014/06/14 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
写给老师的保证书
2015/05/09 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书