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 相关文章推荐
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
Sep 09 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
Javascript中常见的逻辑题和解决方法
Sep 17 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
Bootstrap Img 图片样式(推荐)
Dec 13 Javascript
深入理解Javascript箭头函数中的this
Feb 13 Javascript
详解Immutable及 React 中实践
Mar 01 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
vue打包npm run build时候界面报错的解决
Aug 13 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 Javascript
js观察者模式的弹幕案例
Nov 23 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静态新闻列表自动生成代码
2007/06/14 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python回调函数用法实例分析
2015/05/09 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Python @property使用方法解析
2019/09/17 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
python中的对数log函数表示及用法
2020/12/09 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
高级方案规划工程师岗位职责
2013/11/29 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
篮球比赛策划方案
2014/06/05 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
高中生军训感言
2015/08/01 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
php 原生分页
2021/04/01 PHP