关于条件渲染

所谓条件渲染,就是根据不同的条件,使用不同的模板来生成 html。 在 Vue.js 中,使用 v-if 和 v-show 指令来控制条件渲染。

区别

v-show 会在app初始化的时候编译并且渲染,并且在之后一直存在。当切换v-show模块时,只是简单的更改css。
v-if 当切换v-if模块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。 v-if 是惰性的,如果为false,则什么也不错-不编译,不渲染。 当第一次条件为真时,才开始编译。

建议

v-show的切换消耗比较低,但是不会重新渲染子组件,所以最好用于静态的内容或者不需要重新构建结构的组件。而 v-if 比较适合不太频繁的切换状态的组件。所以项目设计的时候,不要对复杂的业务设计模块太频繁的视图切换。尽量将静态内容和动态内容分离到不同的模块中。

在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。
v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。
相比之下,v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。
一般来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换 v-show 较好,如果在运行时条件不大可能改变 v-if 较好

最新文章

  1. 【.net 深呼吸】启动一个进程并实时获取状态信息
  2. PHP之时间和日期函数
  3. 你的应用是如何被替换的,App劫持病毒剖析
  4. 【JavaScript】操作Canvas画图
  5. java封装性之private
  6. sizeof和指针
  7. Web程序设计笔记-第一章:基础知识
  8. [ArcEngine]Geotransformation地理变换
  9. cnblogs体验
  10. MongoDB (八) MongoDB 文档操作
  11. const,readonly 常量与只读
  12. CorelDraw x6【Cdr x6】官方简体中文破解版(64位)安装图文教程、破解注册方法
  13. SRM 597DIV1
  14. poj 2010 Moo University - Financial Aid (贪心+线段树)
  15. Win7_x64_Oracle 安装 PL/SQL Developer
  16. JPA 单向一对多关联关系
  17. 物流包裹一站式查询(TrackingMore)
  18. Golang学习笔记(一)
  19. bean 属性排列顺序
  20. MQTT研究之EMQ:【SSL双向验证】

热门文章

  1. vue的组件通讯 父传子 -- 子传父-- 兄弟组件的传值 vue的组件传值
  2. promise不会被return触发, 一个promise对象中不会被Promise.reject触发
  3. SPA(single page application)
  4. Java合并数组的实现方式
  5. 第二周总结.Java
  6. UrlConnection发送http请求 中文乱码解决
  7. JavaScript Return Object.Type
  8. [Git] 021 来一颗“恶魔果实”?
  9. java基础笔记(2)
  10. Coding 地址