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 相关文章推荐
永不消失的title提示代码
Feb 15 Javascript
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
jquery getScript动态加载JS方法改进详解
Nov 15 Javascript
关于js遍历表格的实例
Jul 10 Javascript
web网页按比例显示图片实现原理及js代码
Aug 09 Javascript
javascript Array.prototype.slice的使用示例
Nov 14 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
JS 对java返回的json格式的数据处理方法
Dec 05 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
初试vue-cli使用HBuilderx打包app的坑
Jul 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
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
php扩展开发入门demo示例
2019/09/23 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
js读写json文件实例代码
2014/10/21 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
Python IDLE入门简介
2017/12/08 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
python通过链接抓取网站详解
2019/11/20 Python
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
优秀求职信范文分享
2013/12/19 职场文书
法定代表人身份证明书
2014/09/10 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
立案决定书范文
2015/06/24 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
JavaScript实现两个数组的交集
2022/03/25 Javascript