v-if和v-show
实现本质方法区别
v-show本质就是标签display设置为none,控制隐藏
v-if是动态的向DOM树内添加或者删除DOM元素
编译的区别
v-show其实就是在控制css
v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
编译的条件
v-show都会编译,初始值为false,只是将display设为none,但它也编译了
v-if初始值为false,就不会编译了
性能
v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。
用法
v-if更灵活,例如
https://baijiahao.baidu.com/s?id=1674890362392472517&wfr=spider&for=pc
$nextTick
vue中执行DOM的更新是异步的,不是同步的。vue观察到data的变化,会把这个更新DOM这个事件缓存在一个循环模型里面,是为了避免不必要的多次计算和DOM的操作,比如重复点击。如果想在数据更新之后立即获取DOM结点,或者其他的事情,就可以使用this.$nextTick方法。