老师,有几个问题

老师,有几个问题

相关代码:

<template>
  <div class="wrapper">
    <div class="title">我的全部购物车</div>
    <div 
      class="cart"
      v-for="(cart, key) in list"
      :key="key"
      @click="() => handleCartClick(key)"
    >
      <div className="cart__title">{{cart.shopName}}</div>
      <div class="cart__item" v-for="(product, innerKey) in cart.productList" :key="innerKey">
        <img class="cart__image" :src="product.imgUrl" />
        <div class="cart__content">
          <p class="cart__content__title">{{product.name}}</p>
          <p class="cart__content__price">
            <span class="yen">&yen;</span>{{product.price}} X {{product.count}}
            <span class="cart__content__total">
              <span class="yen">&yen;</span>{{(product.price * product.count).toFixed(2)}}
            </span>
          </p>
        </div>
      </div>
      <div class="cart__total">
        共计 {{cart.total}} 件
      </div>
    </div>
    <div
      v-if="Object.keys(list).length === 0"
      class="empty"
    >暂无购物数据</div>
  </div>
  <Docker :currentIndex="1"/>
</template>

问题一描述:

(商品总数不为0的情况)

进入商店,车厘子点+1;番茄点+1,后点-1,此时商品总数为1,番茄数量为0,但购物车列表还显示

https://img1.sycdn.imooc.com//climg/62f7766209fd7c2904140736.jpg

问题一的解决方式:

此时,在class为cart_item的div加“v-show=product.count>0”可以解决此问题;


问题二描述:

(商品总数为0的情况)

进入商店,番茄点+1,后点-1,此时商品总数为0,但购物车列表还显示商铺信息

https://img1.sycdn.imooc.com//climg/62f77968099e9f2004130738.jpg

问题二的解决方式:

此时,在class为cart的div加“v-show=cart.total>0”可以解决此问题;


问题三描述:

在商品总数为0的情况下,(即番茄点+1,后点-1,此时商品总数为0

<div
      v-if="Object.keys(list).length === 0"
      class="empty"
    >暂无购物数据</div>

div无法发挥作用

https://img1.sycdn.imooc.com//climg/62f77b5e0989272e04140736.jpg

请问老师有没其他的解决方法?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,可以借助其他变量来控制“暂无购物数据”的显示和隐藏。比如:

https://img1.sycdn.imooc.com//climg/62f77e7b098220e008360672.jpg

https://img1.sycdn.imooc.com//climg/62f77ea109c4a5c207990143.jpg

tips:商品total值都是0,flag就是false。

祝学习愉快!

  • 精慕门5305869 提问者 #1

    不错不错,欧老师

    2022-08-13 19:05:38
  • 精慕门5305869 提问者 #2

    老师,今天又试一下,还需要在下面return flag。不然会提示Property "flag" was accessed during render but is not defined on instance.

    2022-08-14 17:12:54
  • 好帮手慕慕子 回复 提问者 精慕门5305869 #3

    同学你好,老师可能截图时遗漏了这部分,flag确实需要return后才能够在template模板中使用,同学自己添加上就好。祝学习愉快~

    2022-08-14 17:32:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师