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 相关文章推荐
Prototype使用指南之ajax
Jan 10 Javascript
JQuery 浮动导航栏实现代码
Aug 27 Javascript
学习ExtJS Panel常用方法
Oct 07 Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 Javascript
js与applet相互调用的方法
Jun 22 Javascript
仿百度换肤功能的简单实例代码
Jul 11 Javascript
jQuery EasyUI菜单与按钮详解
Jul 13 Javascript
深入理解React中何时使用箭头函数
Aug 23 Javascript
vue单个组件实现无限层级多选菜单功能
Apr 10 Javascript
微信小程序如何使用云开发
May 17 Javascript
vue中实现Monaco Editor自定义提示功能
Jul 05 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 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
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
sae使用smarty模板的方法
2013/12/17 PHP
php命名空间学习详解
2014/02/27 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
2020/07/22 Javascript
python访问抓取网页常用命令总结
2017/04/11 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
python队列Queue的详解
2019/05/10 Python
python 实现多线程下载视频的代码
2019/11/15 Python
python 实现视频 图像帧提取
2019/12/10 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
工商管理应届生求职信
2013/10/07 职场文书
体育学院毕业生自荐信
2013/11/03 职场文书
美国留学经济担保书
2014/05/20 职场文书
经济国贸专业求职信
2014/06/18 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python