【前端面试题】【Vue】v-if 和v-show有什么区别?

Q:v-if 和v-show有什么区别?

A:v-if实际上操作的dom元素的销毁或者重建,会切换绑定的事件监听器和部分子组件;v-show操作的是切换css的渲染,实际操作的是display属性(none/block);如果需要频繁切换组件的显示,建议使用v-show较好。

参考:

v-if是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建,操作的实际上是dom元素的创建或销毁。

v-show 就简单得多,不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换,它操作的是display:none/block属性。

一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用v-show较好;如果在运行时条件很少改变,则使用v-if较好。

猜你喜欢

转载自blog.csdn.net/weixin_56035334/article/details/126508333