how2j.cn

步骤 1 : v-if   
步骤 2 : v-else   
步骤 3 : v-else-if   

通过toggle函数切换show的值。 通过v-if 语句,当show 是true的时候,显示当前元素

<div v-if="show"> 默认这一条是看得见的</div>
运行效果
<script src="http://how2j.cn/study/vue.min.js"></script> <div id="div1"> <button v-on:click="toggle">切换隐藏显示</button> <div v-if="show"> 默认这一条是看得见的</div> </div> <script> new Vue({ el: '#div1', data: { show:true }, methods:{ toggle: function(){ this.show=!this.show; } } }) </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
v-else 用法,如代码所示,没什么好说的。。。
运行效果
<script src="http://how2j.cn/study/vue.min.js"></script> <div id="div1"> <button v-on:click="moyiba"> 摸一把彩票 10%的几率,建议一边点击一边心里默数,多少次了,站长表示最多点了40次才中奖,妈蛋~ </button> <div v-if="show"> 中了500万!</div> <div v-else>谢谢惠顾!</div> </div> <script> new Vue({ el: '#div1', data: { show:false }, methods:{ moyiba: function(){ this.show=Math.random()<0.1 } } }) </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
v-else-if 用法
运行效果
<script src="http://how2j.cn/study/vue.min.js"></script> <div id="div1"> <button v-on:click="toutai"> 看看下辈子投胎是做什么的 </button> <div v-if="number>98"> 神仙</div> <div v-else-if="number>95"> 国家领导人</div> <div v-else-if="number>90"> 大富商</div> <div v-else-if="number>80"> 大企业主</div> <div v-else-if="number>70"> 演艺明星</div> <div v-else-if="number>60"> 小企业主</div> <div v-else-if="number>50"> 普通公务员</div> <div v-else-if="number>40"> 小个体户</div> <div v-else-if="number>30"> 血汗工厂工人</div> <div v-else-if="number>20"> 偏远山区农民</div> <div v-else> 流浪汉</div> </div> <script> new Vue({ el: '#div1', data: { number:0 }, methods:{ toutai: function(){ this.number=Math.random()*100 } } }) </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2019-02-12 v-if,为什么<script>只有放在页面底下才生效
jimmynqy



我把script放在div上面的时候没有响应,是什么原理?
<script src="../js/vue.min.js"></script>

<script>
new Vue({
    el: '#div1',
    data: {
        show:true
    },
    methods:{
        toggle: function(){
            this.show=!this.show;
        }
    }
  })
</script>

<div id="div1">
	<button v-on:click="toggle">切换隐藏显示</button>
	<div v-if="show"> 默认这一条是看得见的</div> 
</div>

							





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-01-29 好好搬砖吧
Cube



别点了
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>条件语句</title>
    <script src="script/vue.js"></script>
    <style>
        body{
            width: 80%;
            margin: 0 auto;
        }
        div{
            margin: 5px;
        }
    </style>
</head>
<body>
    <div id="app1">
        <p v-if="show">默认显示,点击下面按钮隐藏</p>
        <button v-on:click="toggle">显示/隐藏</button>
    </div>

    <hr>

    <div id="app2">
        <button v-on:click="win">0.01概率</button>
        <p>一种点击了{{count}}次</p>
        <p v-if="show">天选之子</p>
        <p v-else>好好搬砖吧,别点了</p>
    </div>

    <hr>

    <div id="app3">
        <button v-on:click="fate">下辈子做什么人?</button>
        <p v-if="probability>99">神仙</p>
        <p v-else-if="probability>95">皇帝</p>
        <p v-else-if="probability>90">比尔盖子</p>
        <p v-else-if="probability>80">马云</p>
        <p v-else-if="probability>70">加拿大电鳗</p>
        <p v-else-if="probability>60">蔡徐坤</p>
        <p v-else-if="probability>50">黄章</p>
        <p v-else-if="probability>40">码农</p>
        <p v-else-if="probability>30">血汗工人</p>
        <p v-else-if="probability>20">农民</p>
        <p v-else-if="probability>10">窃-格瓦拉</p>
        <p v-else-if="probability>0">不做人真好</p>
    </div>

    <hr>
    <script>
        let app1 = new Vue({
            el:"#app1",
            data: {
                show:true
            },
            methods: {
                toggle: function() {
                    this.show = !this.show;
                }
            },
        });

        let app2 = new Vue({
            el:"#app2",
            data:{
                show:false,
                count:0
            },
            methods:{
                win:function(){
                    this.show = Math.random() < 0.01;
                    this.count ++;
                }
            }
        });

        let app3 = new Vue({
            el:"#app3",
            data:{
                probability:0
            },
            methods:{
                fate:function(){
                    this.probability = Math.random() * 100;
                }
            }
        })
    </script>
</body>
</html>

							





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-12-02 为什么v-else一直显示?
2018-11-26 第一次就中奖的在这里*-*
2018-10-23 人生巅峰,一次就中了
2018-09-06 记个关于this的笔记
2018-07-30 点八次中两次???
2018-07-25 这种。。为啥大家的评论这么少
2018-07-25 为什么show不用{{}}括号括起来?
2018-07-20 看到投胎那一行,根本不敢点啊。
2018-07-19 五次就中奖哈哈哈




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-Vue.js-条件语句 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 984886441
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图