vue实现简单计算商品价格


Posted in Javascript onSeptember 14, 2020

本文实例为大家分享了vue实现简单计算商品价格的具体代码,供大家参考,具体内容如下

vue实现简单计算商品价格

<!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>
  table {
   width: 700px;
   text-align: center;
  }

  tr,
  th {
   height: 40px;
  }
 </style>
 <script src="../vue.js"></script>
</head>

<body>
 <div class="box">
  <table cellspacing='0' border="solid 1px">
   <thead>
    <tr>
     <th>全选<input type="checkbox" v-model='isAllChecked'></th>
     <th>id</th>
     <th>商品名称</th>
     <th>商品价格</th>
     <th>商品数量</th>
     <th>小计价格</th>
    </tr>
   </thead>
   <tbody>
    <tr v-for='item in goods'>
     <td><input type="checkbox" v-model='item.isCheck'></td>
     <td>{{item.id}}</td>
     <td>{{item.name}}</td>
     <td>{{item.price}}</td>
     <td>{{item.num}}</td>

     <!-- 计算每个商品的价格根据选中的状态 -->
     <td>{{goodsPrice(item)}}元</td>
    </tr>
    <tr>
     <td colspan="6">商品总价:{{total}}元</td>
    </tr>
   </tbody>
  </table>
 </div>

 <script>
  var vm = new Vue({
   el: '.box',
   methods: {

    // 商品小计
    goodsPrice(item) {
     var sum = 0;
     // 选中就计算价格
     if (item.isCheck) {
      sum = item.price * item.num;
     }
     return sum;
    }

   },
   data: {
    goods: [
     {
      id: 20200925,
      name: '苹果',
      price: 3,
      num: 12,
      isCheck: false,
     },
     {
      id: 20200945,
      name: '香蕉',
      price: 2,
      num: 33,
      isCheck: false,
     },
     {
      id: 20200935,
      name: '橘子',
      price: 4,
      num: 44,
      isCheck: false,
     },
    ]
   },
   computed: {

    isAllChecked: {
     /* 
      this.goods.every(el=>el.isCheck)返回结果为true 或者false

     遍历下方每一个isCheck的状态、
      1、 都选中返回true---------即全选为true,
      2、 有一个没选中返回false---即全选为false
     */
     get() {
      return this.goods.every(el => el.isCheck)
     },
     set(val) {
      // 全选的状态true、false两种状态
      console.log(val);

      // val为true即全选的时候、下方每一个isCheck也是true
      // val为false即全选的时候、下方每一个isCheck也是false
      return this.goods.forEach(el => el.isCheck = val);
     }
    },


    // 根据选中状态计算商品的价格
    total() {
     var sum = 0;
     this.goods.forEach(el => {
      if (el.isCheck) {
       sum += el.price * el.num;
      }
     })
     return sum;

    },

   }
  })
 </script>

</body>

</html>

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

Javascript 相关文章推荐
javascript中的float运算精度实例分析
Aug 21 Javascript
jquery 缓存问题的几个解决方法
Nov 11 Javascript
js 判断控件获得焦点的示例代码
Mar 04 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
jQuery实现根据滚动条位置加载相应内容功能
Jul 18 Javascript
微信小程序支付前端源码
Aug 29 Javascript
原生JS实现动态添加新元素、删除元素方法
May 05 Javascript
送你43道JS面试题(收藏)
Jun 17 Javascript
Vue中添加滚动事件设置的方法详解
Sep 14 #Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 #Javascript
swiper自定义分页器的样式
Sep 14 #Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 #Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 #Javascript
原生JS实现九宫格抽奖
Sep 13 #Javascript
jQuery实现带进度条的轮播图
Sep 13 #jQuery
You might like
PHP4在Windows2000下的安装
2006/10/09 PHP
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
javascript中字符串的定义示例代码
2013/12/19 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
python实现共轭梯度法
2019/07/03 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
如何利用Python识别图片中的文字
2020/05/31 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
使用Python封装excel操作指南
2021/01/29 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
乡镇三项教育实施方案
2014/03/30 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
投资意向书
2014/07/30 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书