简单理解Vue条件渲染


Posted in Javascript onDecember 03, 2016

一、v-if显示单个元素

注意else只能跟在v-if或者v-show后面

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>Vue条件渲染</title>
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
 <div class="test">
 <div v-if="isDisplay"> <!--if...else... 单个元素-->
 显示我1
 </div>
 <div v-else>
 显示我2
 </div>
 </div>
 <script type="text/javascript">
 var myVue =new Vue({
 el: ".test",
 data: {
  isDisplay: 1
 }
 })
 </script>
 </body>
</html>

输出结果是:显示我1

二、v-if显示多个元素,需配合<template>

注意else只能跟在v-if或者v-show后面

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>Vue条件渲染</title>
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
 <div class="test">
 <template v-if="isDisplay"> <!--if...else... 用template实现多个元素-->
 <div>显示我1</div>
 <div>显示我11</div>
 <div>显示我12</div>
 <div>显示我13</div>
 </template>
 <div v-else>
 显示我2
 </div>
 </div>
 <script type="text/javascript">
 var myVue =new Vue({
 el: ".test",
 data: {
  isDisplay: 1
 }
 })
 </script>
 </body>
</html>

输出结果: 显示我1 显示我11 显示我12 显示我13

三、v-show只支持单元素显示,不支持<template>包含的多元素

注意else只能跟在v-if或者v-show后面

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>Vue条件渲染</title>
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
 <div class="test">
 <div v-show="isDisplay"> <!--if...else... 单个元素,注意注意 v-show 不支持 <template> 语法-->
 显示我1
 </div>
 <div v-else>
 显示我2
 </div>
 </div>
 <script type="text/javascript">
 var myVue =new Vue({
 el: ".test",
 data: {
  isDisplay: 1
 }
 })
 </script>
 </body>
</html>

四、v-if与v-show的区别

(1)v-if是真实的渲染与卸载,只不过第一次渲染后,会将结果缓存一下

(2)v-show元素始终被编译并保留,只是简单地基于 CSS 切换

(3)总结: 如果需要频繁切换 v-show 较好,如果在运行时条件不大可能改变 v-if 较好

gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson08

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
List the Codec Files on a Computer
Jun 11 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
Sep 03 Javascript
使用js操作css实现js改变背景图片示例
Mar 10 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
Mar 02 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
Dec 26 Javascript
vue项目中api接口管理总结
Apr 20 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
May 29 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 Javascript
学习vue.js条件渲染
Dec 03 #Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
Dec 03 #Javascript
jquery 判断div show的状态实例
Dec 03 #Javascript
利用浮层使select不可选的实现方法
Dec 03 #Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
Dec 03 #Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 #Javascript
jquery 多个radio的click事件实例
Dec 03 #Javascript
You might like
PHP游戏编程25个脚本代码
2011/02/08 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php for 循环使用的简单实例
2016/06/02 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
Flask-Mail用法实例分析
2018/07/21 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
Python中的整除和取模实例
2020/06/03 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
数据库方面面试题
2012/04/22 面试题
自我介绍演讲稿
2014/01/15 职场文书
环保建议书作文
2014/03/12 职场文书
模具专业求职信
2014/06/26 职场文书
甘南现象心得体会
2014/09/11 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers