vue之v-show和v-if的使用场景以及开发使用遇到的坑!

先来说一下v-show和v-if最本质的区别,v-if是直接销毁DOM,从虚拟树直接移除,需要的时候在创建从新挂载,而v-show是通过css样式display:none来隐藏与显示DOM,使用场景就是需要频繁的切换显示和隐藏的话优先v-show,如果模板调用比较少,则可以选v-if,道理不必多说,频繁的创建移除dom肯定有损性能,不经常调用就在关闭的时候销毁,这样也可以减少dom树,提高性能。

开发中遇到的坑:

1.如果你使用的模板用prop传了参数,建议使用v-show,我今天就遇到了这个问题,用v-if的时候模板挂载时调用了init初始化方法,导致模板内部请求数据直接请求了三次,我prop传了三个参数,实际上只改变了一个参数,但换了v-show之后,模板只会请求一次接口,我的数据是通过computed来检测的。

小结:上面的问题是我开发中使用遇到的坑,如果大家在开发中,也有类似的使用问题出现,欢迎大家留言,我会添加进来,供大家一起学习一起进步,感谢支持!

你可能感兴趣的:(Vue.js,vue)