vue 基础条件渲染-04

条件渲染 v-if v-else


<h1 v-if="ok">Yes</h1>
//当ok为真的时候渲染标签

<h1 v-if="ok">Yes</h1>
<h1 v-else>No</h1>
//同条件语句if else

v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

在<template>上使用v-if

  • 在vue中所有的指令都必须添加在一个标签当中,如果在需要条件渲染多个标签,又不想在外层在包裹一个标签的化可使用<template>
    如下

//最终渲染的结果不会包含template 标签
<template v-if="ok">
  <h1>Title</h1>
  <p>Paragraph 1</p>
  <p>Paragraph 2</p>
</template>

v-else-if

  • 可连续使用的渲语句

<div v-if="type === 'A'">
  A
</div>
<div v-else-if="type === 'B'">
  B
</div>
<div v-else-if="type === 'C'">
  C
</div>
<div v-else>
  Not A/B/C
</div>

使用key管理可复用的元素

  • 在循环元素和条件渲染 相同的元素,元素的属性不同,在这种情况下Vue会复用相同的元素不会再次生成DOM。要解决这种情况要给元素绑定一个唯一的key属性,以区同样DOM结构的元素

<template v-if="loginType === 'username'">
  <label>Username</label>
  <input placeholder="Enter your username">
</template>
<template v-else>
  <label>Email</label>
  <input placeholder="Enter your email address">
</template>

在上面的代码中如果不加唯一的key值 在元素切换的时候只会给变input当中的placeholder 当天添加了key值之后 相同的元素不会复用,会重新渲染DOM节点

v-show 同dispaly:none block

  • 与v -if 的区别在于
    1。v-show的元素会一直存在与页面中只是显示隐藏的区别
    2。v-if 是直接删除和再次创建元素
    3。使用场景,当需要频繁的切换元素的时候使用v-show 当不是频繁的切换元素的时候使用v-if

注意:v-show不支持template元素且不支持v-else

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

推荐阅读更多精彩内容

  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,116评论 4 129
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,084评论 0 29
  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 3,394评论 0 25
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,666评论 0 6
  • “那不是方谦吗?他怎么也会来这里?我还正想问他,那天,为什么丢我在树上,自己一个人跑了呢。”莲心心想,正好看到方谦...
    原隰阅读 444评论 0 0