为了账号安全,请及时绑定邮箱和手机立即绑定

关于在Vue.js中v-if的一个小问题?求助~

关于在Vue.js中v-if的一个小问题?求助~

哆啦的时光机 2022-01-12 19:11:05
<table v-if="books.length==0"></table><h2 v-else>购物车是空的</h2>判断vue对象中data的books数组长度为0时,就隐藏该table,但是打开浏览器直接就全部隐藏了,而不是等我一个个删除完里面的元素再隐藏换成 <table v-if="books.length">这样就显示正常v-if后面不能跟比较运算符?
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

v-if判断的本质就是布尔值的true和false,只要能满足条件是可以有运算符的。你这个是逻辑问题,假如books.length本身是0,books.length == 0得到的布尔值是true,而0的布尔值是false,你两个判断的依据不同,得到的结果自然不一样。

查看完整回答
反对 回复 2022-01-16
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

判断条件写错,应为:
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>

查看完整回答
反对 回复 2022-01-16
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

结果相反了,具体如下:

v-if="books.length == 0"

当books数组不为时,books.length == 0 布尔值为false,也就是v-if='false',table是不显示的;

v-if="books.length"

当books数组不为时,books.length布尔值为true,也就是v-if='true',table是显示的;

当你删除元素后,books为空时,books.length布尔值为false,也就是v-if='false',table是隐藏的;

以上是解答过程,希望对您有帮助!



查看完整回答
反对 回复 2022-01-16
  • 3 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信