• v-if
  • v-show
  • v-else

一、v-if:生成或者移出一个元素

 <div id="example">
<button v-on:click="ifEvent">点击</button>
<p v-if="greeting">hello</p>
</div>
<script>
var vm = new Vue({
el:'#example',
data:{
greeting:true
},
methods:{
ifEvent(){
this.greeting = !this.greeting;
}
}
});
</script>

v-if表达式采用boolean值切换元素生成与删除,由于节点生成和删除会有较高的性能消耗,如果需要一次生成和删除多个元素时,可以采用<template>元素作为包装元素,在包装元素上使用v-if指令,最终的渲染结果不会包含包装元素,看示例:

 <div id="example">
<button v-on:click="ifEvent">点击</button>
<div>
<template v-if="greeting">
<h2>我是标题</h2>
<p>我是简介</p>
<p>我是内容</p>
</template>
</div>
</div>
<script>
var vm = new Vue({
el:'#example',
data:{
greeting:true
},
methods:{
ifEvent(){
this.greeting = !this.greeting;
}
}
});
</script>

渲染结果:

由于v-if采用的是生成和删除节点,除非在一些购物车等特定应用场景下需要生成和删除节点,多数情况下的需求是只需要做显示和隐藏,所以这时候就没有必要删除节点,仅仅只需要对节点操作display样式实现即可,所以接下来介绍v-show指令。

二、v-show:展示或隐藏一个元素

 <div id="example">
<button v-on:click="ifEvent">点击</button>
<div v-show="greeting">hello</div>
</div>
<script>
var vm = new Vue({
el:'#example',
data:{
greeting:true
},
methods:{
ifEvent(){
this.greeting = !this.greeting;
}
}
});
</script>

通过v-show来实现展示和隐藏,实际上就是操作元素的display的样式属性,比如示例中的div在被隐藏是的元素结构是:

然需要注意的是v-show不支持<template>语法。

vi-if是惰性的,如果在初始渲染时条件为假则什么都不做,只有在条件为真时才会编局部编译渲染,并且编译会被缓存起来。

既然有v-if的存在,v-else怎么能少呢?

三、v-else

v-else指令的语法含义跟javascript中的else一致,必须跟v-if配合使用,但不能与show一起使用。

 <div id="example">
<button v-on:click="ifEvent">点击</button>
<div v-if="greeting">我是会员</div>
<div v-else="greeting">我是超级会员</div>
</div>
<script>
var vm = new Vue({
el:'#example',
data:{
greeting:true
},
methods:{
ifEvent(){
this.greeting = !this.greeting;
}
}
});
</script>

如果是v-show也需要实现切换的话可以采用非值来实现,比如上面的v-else可以使用下面这样的方式来实现:

<div v-show="!greeting">我是超级会员</div>

vue入门:(条件渲染)的更多相关文章

  1. vue笔记-条件渲染

    条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if=&q ...

  2. vue的条件渲染和列表渲染介绍

    一.条件渲染 1.v-if语句 <div v-if="seen">hahahah</div> <!-- v-if插入或者删除元素的指令 --> ...

  3. 前端框架之Vue(5)-条件渲染

    v-if 在字符串模板中,比如 Django Template语法中,我们得像这样写一个条件块: <!-- Handlebars 模板 --> {%if 1%} <h1>Yes ...

  4. vue基础——条件渲染

    一.v-if 1.1.v-if,v-else 在字符串模板中,比如Handlebars,我们得像这样写一个条件块: HTML <!-- Handlebars 模板 --> {{#if ok ...

  5. Vue v-if条件渲染

    1.简单的v-if指令,代码如下 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...

  6. vue基础---条件渲染

    (1)v-if条件渲染 v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. 可以用 v-else 添加一个“else 块”: ①表达式 <di ...

  7. VUE:条件渲染和列表渲染

    条件渲染 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  8. vue.js条件渲染 v-if else-if v-for

    v-if: 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: {{#if ok}} <!-- Handlebars 模板 --> <h1>Yes</ ...

  9. Vue.js 条件渲染 v-if、v-show、v-else

    v-if  v-if 完全根据表达式的值在DOM中生成或移除一个元素.如果v-if表达式赋值为false,那么对应的元素就会从DOM中移除:否则,对应元素的一个克隆将被重新插入DOM中. 1 2 3 ...

  10. 第六十三篇:Vue的条件渲染与列表渲染

    好家伙, 1.条件渲染v-if 1.1.v-if基本使用 <body> <div id="app"> <p v-if="flag" ...

随机推荐

  1. 2.基于AOP自定义注解Annotation的实现

    上一篇中分析了AOP的实现原理, 总结为: 判断对象是否需要被代理?@Aspect注解的实现是根据切入点表达式 代理之后需要做什么,就是那些通知,本质上是实现了MethodInterceptor的拦截 ...

  2. React Native 常用第三方组件

    React-Native-Elements 一组开发RN的UI工具包(强烈推荐)

  3. SDTP协议

    转载于 http://blog.csdn.net/fan_hai_ping/article/details/11797449 SDTP协议细则

  4. delphi设置鼠标图形

    //Screen.Cursor := crHourGlass;//忙 //Screen.Cursor := crDefault;//不忙时

  5. 关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法

    http://blog.csdn.net/soonfly/article/details/52082547 Form的enctype属性表示页面表单数据向服务器传输时的编码方式, 常用有两种:appl ...

  6. Array.prototype.filter()

    1. filter() 方法:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 ——filter() 不会对空数组进行检测 ——filter() 不会改变原始数组 2. 语法: ...

  7. CWinThread类,使用后要不要使用CloseHandle释放内核

    在VC++中用AfxBeginThread()开启线程的时候,返回的是CWinThead类的指针.但是使用后是否应该用CloseHandle释放内核资源呢? 在<Windows核心编程>中 ...

  8. dockerfile文件命令详解

    Dockerfile 一般分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释: Dockerfile的指令根据作用可以分为两种:构建指令 ...

  9. server 2008 R2 DHCP服务器部署

    安装DHCP服务器 和上一篇文章中安装IIS 7.0一样,我们在安装DHCP服务器的时候也要用到Windows Server 2008的服务器安装器. 首先打开服务器管理器,点击开始菜单——>管 ...

  10. PHP SQL注入

    开发者容易遗漏的输入点: HTTP头 X-Forwarded-For   获取用户ip User-Agent            获取浏览器 Referer                  获取之 ...