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>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。