vue显示隐藏 v-if v-else v-show

vue可以通过v-if设置元素的显示隐藏 还可以配合v-else使用

配合点击事件来演示一下

点击按钮,按钮上文字变化,内容显示,再次点击,按钮上文字内容变化,内容隐藏

 

 

 

 

 

 代码部分

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>vue-test3</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
</head>

<body>
    <div id="test">
        <button @click="clickFun()">{{text}}</button>
        <p v-if="show"> 显示/隐藏 </p>
    </div>

    <script>
        const vm = new Vue({
            el: '#test',
            data: {
                show: true,
                text: '点击隐藏',
            },
            methods: {
                clickFun() {
                    // 改变show的值true/false
                    this.show = !this.show;
                    // 三元运算,改变按钮文字内容
                    this.text = this.show ? '点击隐藏' : '点击显示';
                }
            }
        })
    </script>
</body>

</html>

 如果在写一个标签,标签内加上v-els

   <div id="test">
        <button @click="clickFun()">{{text}}</button>
        <p v-if="show"> 显示/隐藏 </p>
        <p v-else>v-else内容</p>
    </div>

就是这个效果

 

 

 注意,如果这样用,加v-if和v-else的标签之间不能有其他的内容

V-show和v-else在页面上可以实现同样的效果 ,但是v-if是通过元素的移除/添加来实现显示隐藏,v-show是通过修改元素的display来实现的

如果同时多个元素实现显示隐藏,可以用vue的template标签

        <template v-if="show">
            <p> 显示/隐藏1 </p>
            <p> 显示/隐藏2 </p>
        </template>    

 

posted @ 2019-09-06 13:38  一颗糊涂淡  阅读(5458)  评论(0编辑  收藏  举报