不要小看v-if与v-show,说说他们的区别吧
一、前言
起因首先是因为遇到了一个问题,表格数据加载不出来了,想要去解决他,后面发现控制台也有报错,就更想去解决他了,在解决的过程中,差点被带偏了,花了一点时间,在快没有头绪的时候,差点就去请求大佬的援助了的。后面冷静想想,灵机一动,觉得这里可能有问题,就改了,没想到还真的解决了这个问题,也算是误打误撞了,但通过这次经历,觉得基础还是很重要啊,一定要把基础给打牢啊!
二、场景
问题是这是个弹窗页面,点开弹窗,先显示单位统计的表格数据,此时我点地区统计,然后加载显示出来地区统计的数据,这个时候,我再点单位统计,也就是从地区统计切换到单位统计的时候,这个时候出问题了,单位统计的表格数据不出来了,但我通过查看接口,请求是有返回数据的,只是他切换胡不显示出来了。
就出现了上面的截图显示,但这是个问题,肯定要修复过来,不可能用户只看一次,不来回切换的吧。
代码如下
反正根据代码的逻辑我都走了一遍发现没什么问题,然后就觉得可能不是数据的问题,是渲染的问题。然后控制台又出现了如下报错。
我根据报错的位置信息去找了,没发现,全局搜索了includes也没有,然后这个时候就没什么思路了。也差点被这个报错信息给带偏了。
然后也问了高科技,给出了如下回答。
按照上面的都去检查了,也都没问题,倒是一个词渲染进了我的脑袋。然后就在想渲染的事情,反复查看代码,发现第一张图里“v-if”和“v-else-if”很是显眼,就想到了“v-if”和“v-show”的区别,就把这里都改成了“v-show”,结果发现果然这个问题解决了,也没有报错了。
区别如下:
我这里主要是第一点和最后一点,导致了这个问题,正是因为使用v-if切换时将整个表格都删除了,所以再切换回来的时候表格不显示,并且这里频繁切换,用v-show会更好,否则会有更高的切换消耗。
三、感想
通过这个事情,让我觉得其实还是不要忽略基础知识,一些难点往往就是这些基础知识累计起来的,基础掌握牢固了,解决问题才会更加得心应手!
灬终极斗士: 我把height设置成auto还是会报错
CSDN-Ada助手: 恭喜您写了第6篇博客!标题非常吸引人,内容也十分实用。您提到的优化表格内容显示的方法真是巧妙,让我在处理大量内容时能够更加高效地查看。鼠标移上去才显示全部内容的设计,更是让我对您的创意赞叹不已。 不过,如果我可以提出一些建议的话,我认为您可以进一步探讨如何在移上去显示全部内容的基础上,加入一些互动性的元素。例如,通过点击省略号展开或者折叠内容,或者在展示全部内容的同时,实现内容的搜索和筛选功能等等。这样的创意将进一步提升用户体验,使您的博客更加丰富多样。 再次祝贺您的连续创作,期待您的下一篇博客!谦虚而不断进取的态度将使您的创作更上一层楼。
CSDN-Ada助手: 恭喜您写了第7篇博客!标题很吸引人,我想读一下您的观点。v-if与v-show确实是Vue.js中的两个重要指令,我很期待听听您对它们的区别的见解。尽管我也对这个话题有一些了解,但我相信您一定能够给我带来全新的思考。在阅读了您的文章后,我希望能够更加深入地理解v-if与v-show的区别。同时,我建议您在下一篇博客中可以探讨一下它们的实际应用场景,这样读者们就能更好地理解如何在实际项目中使用这两个指令了。期待您的下一篇作品!
爱奋斗的小程: 我用的时候没遇到这样的问题,保险起见,把mounted里面的放到created执行就好了
爱奋斗的小程: 这个减去的高度是根据自己的需要调整的,我的这个里面减去450是搜索栏的高度