v-if和v-show区别
v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
v-show 不管初始条件是什么,元素总是会被渲染,进行简单的cSS进行切换。
小结:v-if切换开销高,v-show初始渲染开销高。因此,如果频繁地切换,则使用v-show;
如果在运行时条件很少改变,则使用v-if 较好。
相同点:
1、v-if 与 v-show 都可以动态控制 DOM 元素的显示隐藏。
不同点:
1、v-if 有更高的切换开销,v-show 有更高的初始渲染开销
3、v-if 适合运行条件不大可能改变;v-show 适合频繁切换。
4、v-if 通过动态向DOM树增删DOM元素,v-show 设置display来进行隐藏
5、v-if 切换有一个局部编译/卸载的过程,切换过程中适当地销毁和重建内部的事件监听和子组件;v-show 只是简单的基于 CSS 切换;
如果需要非常频繁地切换,则使用v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。