v-show命令和v-if命令有什么区别?主要区别在于渲染。无论绑定值是真还是假,使用v-show都会渲染dom。如下图,在guiplan开发工具中设置字幕的显示条件(v-show命令)为false。虽然隐藏了字幕,但是dom元素依然存在。只需在字幕中强行添加一个display:none样式即可进行隐藏操作。而如果我们继续使用v-if命令,我们可以看到整个字幕h3被直接去掉了,也就是根本不会给你渲染。什么时候用v-show,什么时候用v-if?了解了它们之间的区别之后,我们才能更好的理解和使用它们。首先,v-show命令会提前渲染dom,所以缓存的dom不会增加显示和隐藏切换时的性能损失。但是如果v-if命令频繁切换,会不断的销毁dom,重新创建dom会造成一定的性能损失,尤其是在需要渲染的场景过于复杂的情况下。所以v-show命令适合频繁切换。比如tab切换,下拉框显示等。下面是一个记单词的项目截图。当你点击选项卡切换时,所有的图片和字母都被隐藏了。点击ViewWord按钮可以显示完整的图片和文字。这更适合频繁切换v-show命令。所以看起来v-show命令就足够了?不是真的,但是什么时候使用v-if指令?其实有很多场景是不需要频繁切换的,我们可以使用v-if命令。而且v-if还支持多条件判断。让我们看看下面的场景。在背单词游戏中,我们可以看到有图片、中文、英文单词三种显示方式。我们只需要显示这三种模式中的一种即可,不需要经常切换。这样,我们就可以使用v-if指令了。如果类型是图片类型,则显示图片,中文类型显示中文,英文类型显示英文。如果包含更多类型,可以继续使用elseif命令实现多条件判断。并且显示一个之后,其他不满意的情况就不会再渲染了,大大减少了不必要的渲染过程,提高了性能。转载自http://www.guiplan.com/articl...
