<table v-if="books.length==0">
</table>
<h2 v-else>购物车是空的</h2>
判断vue对象中data的books数组长度为0时,就隐藏该table,但是打开浏览器直接就全部隐藏了,而不是等我一个个删除完里面的元素再隐藏
换成 <table v-if="books.length">这样就显示正常
v-if后面不能跟比较运算符?
ç»æç¸åäºï¼å ·ä½å¦ä¸ï¼
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æ¯éèçï¼
以ä¸æ¯è§£çè¿ç¨ï¼å¸æ对æ¨æ帮å©ï¼
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-07-22
v-if判断的本质就是布尔值的true和false,只要能满足条件是可以有运算符的。你这个是逻辑问题,假如books.length本身是0,books.length == 0得到的布尔值是true,而0的布尔值是false,你两个判断的依据不同,得到的结果自然不一样。追问
是我true跟false搞反了
本回答被提问者采纳第2个回答 2020-07-22
判断条件写错,应为:
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>
<table v-if="books.length>0">
...
</table>
<h2 v-else>购物车是空的</h2>