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后面不能跟比较运算符? 展开
</table>
<h2 v-else>购物车是空的</h2>
判断vue对象中data的books数组长度为0时,就隐藏该table,但是打开浏览器直接就全部隐藏了,而不是等我一个个删除完里面的元素再隐藏
换成 <table v-if="books.length">这样就显示正常
v-if后面不能跟比较运算符? 展开
3个回答
展开全部
结果相反了,具体如下:
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搞反了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断条件写错,应为:
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询