zoukankan      html  css  js  c++  java
  • Vue随笔——Vue数组中数据改变,页面不更新

    Vue数组中数据改变,页面不更新

    问题描述:点击商品,加入购物车时,如果购物车中已经存在该商品,此时购物车列表的商品数量不更新。

    原因:官方文档解释如下

    由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。深入响应式原理中有相关的讨论。

    解决方案:

    this.$set(this.tableData, i, this.tableData[i])
    //Vue.set(this.tableData, i, this.tableData[i]) //这样写报Vue is not defined,后续再研究

    完整代码示例

    商品列表,点击列表中的商品时,会添加到购物车列表中

    <ul class="cookList">
     <li v-for="(goods,index) in type0Goods" :key="index" @click="addOrderList(goods)">
       <span class="foodImg"><img :src="goods.goodsImg" width="100%"></span>
       <span class="foodName">{{goods.goodsName}}</span>
       <span class="foodPrice">¥{{goods.price}}</span>
     </li>
    </ul>

    添加购物车代码

    addOrderList (goods) {
         // 商品是否已经存在于订单列表中
         let isHave = false
         for (let i = 0; i < this.tableData.length; i++) {
           if (this.tableData[i].goodsId === goods.goodsId) {
             isHave = true
             this.tableData[i].count++
             this.$set(this.tableData, i, this.tableData[i])
             // Vue.set(this.tableData, i, this.tableData[i])
             break
          }
        }

         if (!isHave) {
           // 添加商品到orderList中
           goods.count = 1
           this.tableData.push(goods)
        }
    }

    购物车列表展示代码

    <el-table :data="tableData" border style="100%">
       <el-table-column prop="goodsName" label="商品名称"></el-table-column>
    <el-table-column prop="count" label="数量" width="70"></el-table-column>
    <el-table-column prop="price" label="金额" width="70"></el-table-column>
    <el-table-column label="操作" width="100" fixed="right">
      <template>
               <el-button type="text" size="small">删除</el-button>
               <el-button type="text" size="small">增加</el-button>
           </template>
    </el-table-column>
    </el-table>

     

  • 相关阅读:
    样式
    笔试:输入输出
    kafka hbase MR
    数据库
    Spring
    转:Numpy扩充矩阵维度(np.expand_dims, np.newaxis)和删除维度(np.squeeze)的方法
    PyTorch LSTM,batch_first=True对初始化h0和c0的影响
    矩阵F范数的平方转化为矩阵的迹
    Python自带的random库,numpy的随机库,torch的随机函数
    转:sklearn中的高斯混合模型GMM
  • 原文地址:https://www.cnblogs.com/henry-blog/p/13155438.html
Copyright © 2011-2022 走看看