条件渲染

1.v-if

<div v-if="result == 1">1</div>
<div v-else-if="result == 2">2</div>
<div v-else>Others</div>

<!-- template为包装元素,使得v-if指令可应用于多个元素,且最终渲染结果不包含template -->
<template v-if="result == 1">
    <div>1</div>
    <div>2</div>
</template>

<template v-if="result == 1">
    <!-- label没加key会被复用,仅替换文本 -->
    <label>Name</label>
    <!-- input添加了key,会在每次resule值切换时重新渲染 -->
    <input key="name-input" />
</template>
<template v-if="result == 2">
    <label>Email</label>
    <input key="email-input" />
</template>

为提高效率Vue会尽可能的复用已有元素,而非重新渲染,可以通过添加key属性告诉Vue不要复用该元素

2.v-show

元素始终保留在DOM中,仅切换元素CSS属性display,不支持<template>语法和v-else

v-if元素惰性渲染(直到条件为true,才渲染),更高切换开销
v-show元素总被渲染,更高初始渲染开销

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 条件渲染 v-if指令 ​ 利用v-if指令,可以实现在同一页面,不同的时期,根据需要渲染显示不同的块或模板<te...
    Husbin阅读 462评论 0 0
  • 一、初探条件渲染 vue 的条件渲染,仍旧依赖于指令系统,下面逐个介绍: (1)v-if 当 c1 为真值的时候,...
    ebfc7d0362e4阅读 1,685评论 0 1
  • title: 5、条件渲染date: 2017-07-31 19:50:10tags: vue笔记(妙味) v-i...
    Gary23阅读 334评论 0 0
  • 条件渲染 条件渲染,就满足一定的条件以后才会渲染。 v-if v-if指令类似于,js中的if语句,当条件满足时才...
    Oldboyyyy阅读 1,684评论 0 0
  • v-if # <template> 中 v-if 条件组 因为 v-if 是一个指令,需要将它添加到一个元素上。但...
    angelwgh阅读 296评论 0 0