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 相关文章推荐
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
Jan 22 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 Javascript
Jquery Change与bind事件代码
Sep 29 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
Aug 11 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 Javascript
js字符串与Unicode编码互相转换
May 17 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
Jun 26 Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
基于JavaScript实现留言板功能
Mar 16 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 Cookie的一个使用注意点
2008/11/08 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
python Django模板的使用方法(图文)
2013/11/04 Python
python读取csv文件示例(python操作csv)
2014/03/11 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python字符串详细介绍
2015/05/09 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
哈理工毕业生的求职信
2013/12/22 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
房地产开发项目建议书
2014/05/16 职场文书
优秀大学生自荐信
2014/06/09 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
员工年度工作总结2015
2015/05/18 职场文书
python实现监听键盘
2021/04/26 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android