第三章 条件判断与列表渲染

第三章 条件判断与列表渲染

一、条件判断

1、v-if指令

v-if是一个指令,必须将它添加到一个元素上,根据表达式的结果判断是否输出该元素。

实例:输出数据对象中属性a和b的值,并根据比较两个属性的值,判断是否输出比较结果

<div id="box">
    <p>a的值是{
  {a}}</p>
    <p>b的值是{
  {b}}</p>
<p v-if=“a<b”>a小于b</p>
</div>
<script type=“text/javascript”>
     var demo=new Vue({
            el:’#box’
            data:{
                   a:100,
                   b:200,
        }
});
</script>

如果需要对一元素进行判断,需要使用<template>元素作为包装元素,并在该元素上使用v-if,最后的渲染结果中不会包含<template>元素

实例:根据表达式的结果判断是否输出一组单选按钮。

<div id="example">
    <template v-if = "show">
        <input type = "radio" value = "A"> A
        <input type = "radio" value = "B"> B
        <input type = "radio" value = "C"> C
        <input type = "radio" value = "D"> D
    </template>
</div>
<script type="text/javascript">
    var demo = new Vue({
        el:'#example',
        data:{
            show: true
        }
    });
</script>
2、v-else指令

v-else指令的作用相当于JavaScript中的else语句部分,可以与v-if指令配合使用。

实例:输出数据对象中的属性a和b的值,并根据比较两个属性的值,输出比较的结果。

<div id="box">
    <p>a的值是{
  {a}}</p>
    <p>b的值是{
  {b}}</p>
    <p v-if="a<b">a小于b</p>
    <p v-else>a大于b</p>
</div>
<script type="text/javascript">
    var demo = new Vue({
        el : '#box',
        data : {
            a : 200,
            b : 100
        }
    });
</script>

实例:应用v-if指令和v-else指令判断2019年2月份的天数。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断2019年2月份的天数</title>
<script src="../JS/vue.js"></script>
</head>
<body>
<div id="box">
	<p v-if="(year%4==0 && year%100!=0) || year%400==0">
		{
  {show(29)}}
	</p>
	<p v-else>
		{
  {show(28)}}
	</p>
</div>
<script type="text/javascript">
    var demo = new Vue({
        el : '#box',
        data : {
			year : 2019
		},
		methods : {
			show : function(days){
				alert(this.year+'年2月份有'+days+'天');//弹出对话框
			}
		}
    });
</script>
</body>
</html>
3、v-else-if指令

v-else-if指令的作用相当于JavaScript中的else if语句部分。

注意:

  • v-else指令必须紧跟在v-if指令或v-else-if指令的后面,否则v-else指令将不起作用。
  • v-else-if指令也必须紧跟在v-if或者v-else-if指令的后面。

实例:

将某学校的学生成绩转化为不同等级,划分标准如下:

①“优秀”,大于等于90分;

②“良好”,大于等于75分;

③“及格”,大于等于60分;

④“不及格”,小于60分。

假设刘星的考试成绩是85分,输出该成绩对应的等级。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断考试成绩对应的等级</title>
<script src="../JS/vue.js"></script>
</head>
<body>
<div id="box">
	<div v-if="score>=90">
		刘星的考试成绩优秀
	</div>
	<div v-else-if="score>=75">
		刘星的考试成绩良好
	</div>
	<div v-else-if="score>=60">
		刘星的考试成绩及格
	</div>
	<div v-else>
		刘星的考试成绩不及格
	</div>
</div>
<script type="text/javascript">
    var demo = new Vue({
        el : '#box',
        data : {
			score : 85
		}
    });
</script>
</body>
</html>
4、v-show指令

v-show指令是根据表达式的值来判断是否显示或隐藏DOM元素。当表达式的值为true时,元素将被显示;当表达式的值为false时,元素被隐藏,此时为元素添加一个内联样式style=“display:none”。

和v-if指令不同,使用v-show指令的元素,无论表达式的值为true还是false,该元素都始终会呗渲染并保留在DOM中。绑定值得改变只是简单地切换元素的CSS属性display。

注意:v-show指令不支持

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值