Vue.js中v-if的一个小问题?

<tablev-if="books.length==0"></table><h2v-else>购物车是空的</h2>判断vue对象中data的books数组长度为0时,就... <table v-if="books.length==0">

</table>
<h2 v-else>购物车是空的</h2>
判断vue对象中data的books数组长度为0时,就隐藏该table,但是打开浏览器直接就全部隐藏了,而不是等我一个个删除完里面的元素再隐藏
换成 <table v-if="books.length">这样就显示正常
v-if后面不能跟比较运算符?
展开
 我来答
懂点君
高粉答主

2020-07-22 · 分享各种知识,从此让你多懂点,少吃亏!
懂点君
采纳数:197 获赞数:4794

向TA提问 私信TA
展开全部

结果相反了,具体如下:

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是隐藏的;

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

匿名用户
2020-07-22
展开全部
v-if判断的本质就是布尔值的true和false,只要能满足条件是可以有运算符的。你这个是逻辑问题,假如books.length本身是0,books.length == 0得到的布尔值是true,而0的布尔值是false,你两个判断的依据不同,得到的结果自然不一样。
追问
是我true跟false搞反了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四川旅游攻略
2020-07-22 · TA获得超过1755个赞
知道小有建树答主
回答量:1180
采纳率:80%
帮助的人:330万
展开全部
判断条件写错,应为:
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式