vue基础——条件渲染
一、v-if
1.1、v-if,v-else
在字符串模板中,比如Handlebars,我们得像这样写一个条件块:
HTML
<!-- Handlebars 模板 --> {{#if ok}} <h1>Yes</h1> {{/if}}
在Vue中,我们使用v-if指令来实现同样的功能:
<div v-if="3<2"> Now you see me </div> <div v-else> Now you don't </div>
v-else元素必须紧跟在带v-if或者v-else-if的元素后面,否则它将不会被识别。
1.2、v-else-if
是在2.1.0新增,顾名思义,充当v-if的"else-if块",可以连续使用:
HTML
<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>
类似于v-else,v-else-if也必须紧跟在v-if或者v-else-if之后
1.3、用key管理可重复的元素
二、v-show
另一个根据条件展示元素的选项是v-show指令。用法大致一样。
HTML
<h1 v-show="ok">Hello!</h1>
不同的是带有v-show的元素始终会被渲染并保留在dom中。v-show指令只是简单切换元素的css属性display。
注意:v-show不支持<template>元素,也不支持v-else。
三、v-if vs v-show
v-if是真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当的被销毁和重建。
v-if也是惰性的:如果在初始渲染条件为假时,则什么也不做,知道条件第一次变为真,才会开始渲染条件块。
相比之下,v-show就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于css进行切换。
一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用v-show更好;如果运行时条件很少改变,则使用v-if较好。
四、v-if与v-for一起使用
当v-if与v-for一起使用时,v-for具有比v-if更高的优先级
vue基础——条件渲染的更多相关文章
- vue基础---条件渲染
(1)v-if条件渲染 v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. 可以用 v-else 添加一个“else 块”: ①表达式 <di ...
- vue笔记-条件渲染
条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if=&q ...
- vue的条件渲染和列表渲染介绍
一.条件渲染 1.v-if语句 <div v-if="seen">hahahah</div> <!-- v-if插入或者删除元素的指令 --> ...
- 前端框架之Vue(5)-条件渲染
v-if 在字符串模板中,比如 Django Template语法中,我们得像这样写一个条件块: <!-- Handlebars 模板 --> {%if 1%} <h1>Yes ...
- Vue v-if条件渲染
1.简单的v-if指令,代码如下 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...
- VUE:条件渲染和列表渲染
条件渲染 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- vue.js条件渲染 v-if else-if v-for
v-if: 在字符串模板中,如 Handlebars ,我们得像这样写一个条件块: {{#if ok}} <!-- Handlebars 模板 --> <h1>Yes</ ...
- Vue.js 条件渲染 v-if、v-show、v-else
v-if v-if 完全根据表达式的值在DOM中生成或移除一个元素.如果v-if表达式赋值为false,那么对应的元素就会从DOM中移除:否则,对应元素的一个克隆将被重新插入DOM中. 1 2 3 ...
- 第六十三篇:Vue的条件渲染与列表渲染
好家伙, 1.条件渲染v-if 1.1.v-if基本使用 <body> <div id="app"> <p v-if="flag" ...
随机推荐
- leetcode -day30 Reverse Linked List II
1. Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one- ...
- 哈勃(Hubble)望远镜的新发现
请看下图: itok=FcRLe7t_" name="图形1" alt="" border="0" height ...
- Spring MVC学习回顾
Spring MVC是现在新项目中使用最多的MVC框架,超越了Structs2成为MVC框架的首选.今天抽时间看了4.2.x的官网翻译文档及相关代码,博客,将印象比较深的几点记录一下. 一.应用Spr ...
- Java]运算符优先级
https://blog.csdn.net/xiaoli_feng/article/details/4567184
- php实现Facebook风格的 time ago函数
php实现Facebook风格的 time ago函数 非常好用,只要把里面的英文替换成中文就行了 英文函数代码如下: <?php function nicetime($date) { if(e ...
- php文章付费阅读系统球料付费阅读系统
服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议 ...
- 杂项:flex (adobe flex)
ylbtech-杂项:Flex (Adobe Flex) Flex指Adobe Flex,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Appli ...
- 【用jersey构建REST服务】系列文章
1.用Jersey构建RESTful服务1--HelloWorld http://blog.csdn.NET/kkkloveyou/article/details/21391033 2.用Jersey ...
- sersync基于rsync+inotify实现数据实时同步
一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...
- Linux-mail设置
邮箱文件设置 #配置发邮件 /etc/mail.rc中追加 set bsdcompat set from=c4kaichen@163.com .com set smtp-auth-user=c4kai ...