Vue顯示隱藏(v-show,v-if)


1.v-show

直接上示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>v-show指令</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="box">
            <button @click="toshow()">顯示/隱藏</button>
            <p>v-show:<span v-show="show">{{text}}</span></p>
        </div>
    </body>
    <script type="text/javascript" charset="utf-8">
        new Vue({
            el: "#box",
            data: {
                text: "我要顯示呀",
                show: false
            },
            methods: {
                toshow: function() {
                    this.show = !this.show;
                }
            }
        })
    </script>
</html>

v-show為false運行以后在瀏覽器看到的是這樣的

<div id="box">
    <button>顯示/隱藏</button>
    <p>v-show:<span style="display: none;">我要顯示呀</span></p>
</div>

v-show 的元素會始終被渲染並保存在 dom 中,它只是簡單的切換 css 的 dispaly 屬性。

 

2.v-if

把v-show改為v-if再看:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>v-if指令</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="box">
            <button @click="toshow()">顯示/隱藏</button>
            <p>v-show:<span v-if="show">{{text}}</span></p>
        </div>
    </body>
    <script type="text/javascript" charset="utf-8">
        new Vue({
            el: "#box",
            data: {
                text: "我要顯示呀",
                show: false
            },
            methods: {
                toshow: function() {
                    this.show = !this.show;
                }
            }
        })
    </script>
</html>

v-if為false運行以后在瀏覽器看到的是這樣的

<div id="box">
    <button>顯示/隱藏</button>
    <p>v-show:
        <!---->
    </p>
</div>

v-if可以實現條件渲染,Vue會根據表達式的值的真假條件來渲染元素。

 

3.總結

v-show總結

1、v-show僅僅控制元素的顯示方式,通過display屬性的none
2、當我們需要經常切換某個元素的顯示/隱藏時,使用v-show會更加節省性能上的開銷

v-if總結

1、v-if會控制這個DOM節點的存在與否。
2、如果在運行時條件很少改變,則使用 v-if 較好。

 

參考文章:https://www.jianshu.com/p/b9623407da6f


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM