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 技巧大全(新手入门篇)
May 12 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
Feb 05 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
Apr 26 Javascript
JavaScript中数组的合并以及排序实现示例
Oct 24 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
详解AngularJS中ng-src指令的使用
Sep 07 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
vue中实现Monaco Editor自定义提示功能
Jul 05 Javascript
解决antd的Form组件setFieldsValue的警告问题
Oct 29 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
Oracle 常见问题解答
2006/10/09 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
django正续或者倒序查库实例
2020/05/19 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
简历的自我评价
2014/02/03 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
大班亲子运动会方案
2014/06/10 职场文书
安全责任书范文
2014/08/25 职场文书
人事代理委托书
2014/09/27 职场文书
财务经理岗位职责
2015/01/31 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
庆七一主持词
2015/06/29 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python