Vue2.x 中 v-if 与 v-show 的区别:
1. 在编译阶段,v-if 会生成 js 的三元表达式;v-show 则是会放到 data 的 directives 属性中。
2. 在运行阶段:
2.1 执行方式:v-if 通过其表达式的值来决定是否渲染元素,如果为 false 则会返回一个空的 vnode,而不会渲染真正的元素;v-show 则是通过 style 来对元素进行显示或隐藏,无论表达式真假都会渲染元素。
2.2 执行时机:v-if 是在 render 过程;v-show 是在 patch 过程的 invokeInsertHook 中。
展开
1