v-if和v-show

466 阅读1分钟
  • vue中显隐方法常用两种,v-show和v-if,但这两种是有区别的。
  • 实现本质方法区别
    1. vue-show本质就是标签display设置为none,控制隐藏
    2. vue-if是动态的向DOM树内添加或者删除DOM元素
  • 编译的区别
    1. v-show其实就是在控制css
    2. v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
  • 编译的条件
    1. v-show都会编译,初始值为false,只是将display设为none,但它也编译了
    2. v-if初始值为false,就不会编译了
  • 性能
    1. v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。