vue中的条件渲染

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="./vue.js"></script>
<!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> -->
</head>
<body>
<div id="app" style="height:360px;border:1px solid red" @click="handleClick">

//v-show:已经渲染,只是隐藏或显示<br>
<div v-if="show">{{message}}</div>
//v-if:存在或不存在(移除)。很显然v-show性能更高,它不用删除、添加<br>
<div v-show="show">{{message}}</div>

//if else语句<b style="color:red">(注意,if、else标签之间不能有阻隔,否则报错)</b>:<br>
<div v-if="show">if</div>
<div v-else="show">else</div>

//if else ifelse(同样要连在一起写)<br>
<div v-if="show == ‘a‘">a</div>
<div v-else-if="show == ‘b‘">b</div>
<div v-else="show">other</div>

//一个诡异的现象:帐号、邮箱再怎么切换,input中输入的内容不变(vue会尽量复用,但是并没有清空内容)<br>
<div v-if="show">
帐号:<input type="text" name="account"/>
</div>
<div v-else>
邮箱:<input type="text" name="email"/>
</div>
//解决办法是加key(当给一个元素加key值的时候,vue会知道它是唯一元素,如果不一样则不复用值)<br>
<div v-if="show">
帐号:<input type="text" name="account" key="account" />
</div>
<div v-else>
邮箱:<input type="text" name="email" key="email" />
</div>
</div>
<script type="text/javascript">
var vm = new Vue({
el: "#app",
data: {
show: false,
message: "hello world"
},
methods: {
handleClick: function() {
this.show = !this.show
}
}
});
</script>
</body>
</html>

原文地址:https://blog.51cto.com/5660061/2419157

时间: 2024-08-30 13:45:48

vue中的条件渲染的相关文章

3-6 Vue中的条件渲染

本次案例讲解:v-if,v-show,v-else,v-else-if和key值的相关用法!!! v-if指令: //通过一个(v-if)指令 ,可以结合js表达式的返回值,决定一个标签是否在页面上展示或决定一个标签是否在页面上存在 //显示效果如下: v-if指令并不会显示div标签 (为了显示效果明显,特意在此页面中给div的父级设置了粉色背景颜色,便于看出页面的改变) //可以看到,调用v-if,设置为false后,div并不会显示出来. //当在控制台中,改变v-if的值为true后,d

浅析Vue.js 中的条件渲染指令

1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> <p v-if="type===1">拌面</p> <p v-else-if="type===2">扁肉</p> <p v-else="type===3">其它</p> </div

vue03----生命周期、nextTick()、ref、filter、computed、vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到什么问题、踩过的坑)

### 1.vue的组件和实例都有生命周期,而且是一样的 生命周期:(组件从创建到销毁的过程) 创建 挂载 更新 销毁 组件到达某一个阶段就会自动触发某一些函数,这个函数就叫生命周期的钩子函数. 创建:组件创建的时候触发 beforeCreate created     组件刚创建的数据请求 挂载:创建完成挂载前后触发 beforeMount mounted     DOM的初始化操作 更新:数据发生改变的时候触发 beforeUpdate updated     数据的变化监听,尽量不要在这里

理解Vue中的Render渲染函数

VUE一般使用template来创建HTML,然后在有的时候,我们需要使用javascript来创建html,这时候我们需要使用render函数.比如如下我想要实现如下html: <div id="container"> <h1> <a href="#"> Hello world! </a> </h1> </div> 我们会如下使用: <!DOCTYPE html> <html

vue中的列表渲染

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue中列表渲染</title> <script src="./vue.js"></script> </head> <body> <div id="app">

3-7 Vue中的列表渲染

 举个案例:循环data中的list的值在div中,并显示相应的index值. 关于数组的循环: //显示效果如下图: //一般的列表渲染最好带一个key值,要把key值设置为唯一值的话,可以选择index.但在频繁操作DOM元素相对应的数据的时候,它还是有点浪费性能,可能让Vue没法充分复用DOM节点,所以不太建议用index来做key值 //所以一般的项目中的后端会传递过来一些数据,这些数据可以把它作为key值来使用(一般会携带一个后端或数据库相关的一个唯一的数据条目标识符,例如:id) /

vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到过什么问题)

问题描述: 用vue封装一个swiper组件的时候,发现轮播图不能轮播了. 原因: 异步请求的时间远大于生命周期执行的时间,mounted初始化DOM时数据未返回,渲染数据是空数组,导致轮播图的容器层宽度为0,渲染轮播图不能滚动. 解决思路: 数据返回之后再做初始化操作. 解决方法: 一.容器没有宽度,就想着给容器设置一个宽度,但是一旦设置死数据了后期维护起来很麻烦. 二.设置一个定时器,延长等待的时间,但是无法确定网络请求的时间,这样操作严么会等待时间过长,影响用户体验,要么是还没有请求完就去

React中条件渲染和循环

条件渲染 React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI. 具体实现可以看下面的例子 1.在 src -> components 文件夹中,再新建 list.js ,具体代码如下: import React, { Component } from 'react'; class List extends Component { // 状态的初始化一般放在构造器中

React学习:条件渲染

在react中的条件渲染和Vue不一样,react使用的是:使用不同的组件进行封装,然后根据使用的场景再来判断使用哪一个组件 React中的条件渲染和js中的一样,使用js或者其他条件运算符进行不同组件的渲染 1.元素变量 可以使用变量来储存元素. 它可以帮助你有条件地渲染组件的一部分,而其他的渲染部分并不会因此而改变. //元素变量 function LoginButton(props) { return ( <button onClick={props.onClick}> Login &l