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 相关文章推荐
在IE中调用javascript打开Excel的代码(downmoon原作)
Apr 02 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
Dec 29 Javascript
JS字符串处理实例代码
Aug 05 Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
react-native DatePicker日期选择组件的实现代码
Sep 12 Javascript
vue slots 组件的组合/分发实例
Sep 06 Javascript
微信小程序实现留言功能
Oct 31 Javascript
js canvas画布实现高斯模糊效果
Nov 27 Javascript
js瀑布流布局的实现
Jun 28 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
PHP+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
PHP如何抛出异常处理错误
2011/03/02 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP模板解析类实例
2015/07/09 PHP
JS 常用校验函数
2009/03/26 Javascript
js 表格隔行颜色
2009/12/02 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
期末总结的个人自我评价
2013/11/02 职场文书
求职自荐信范文格式
2013/11/29 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
公司晚会主持词
2014/03/22 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
结婚堵门保证书
2015/05/08 职场文书
单位政审意见范文
2015/06/04 职场文书
教师岗位说明书
2015/09/30 职场文书
《给予树》教学反思
2016/03/03 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android