Vue筆記整理,讓你快速入門Vue.js:03_7.本地應用:v-if指令(條件判斷-顯示狀態-操作dom元素)

目錄

一、指令v-if的語法介紹

二、指令 v-if 代碼驗證測試

1、實例代碼

2、效果展示

三、代碼演示 v-show 和 v-if 的區別

1、實例代碼

2、效果展示

四、內容-總結


上一節我們學習了v-show指令,一個通過操作display來切換元素顯示狀態的指令,但是在View中我們並不僅僅就這一個指令來操作元素的顯示狀態,這一節我們將來學習另外一個類似的指令v-if

一、指令v-if的語法介紹

這個指令的作用就是:根據表達式的真假,來切換元素的顯示狀態,但是它操作的不是樣式,而是直接操作這個dom元素。

第一種寫法:硬編碼。

第二種寫法:data中定義屬性變量。

第三種寫法:支持寫表達式。

這個同 v-show 一樣

二、指令 v-if 代碼驗證測試

1、實例代碼

<!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>09_v-if指令的使用</title>
</head>

<body>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <div id = "app">
        <p v-if="true">你好程序員!</p>
        <p v-if="isShow">你好北京!</p>
        <p v-if="age>17">你成年啦!</p>
        <input type="button" value="切換狀態-isShow" @click="changeIsShow">
        <input type="button" value="切換狀態-age" @click="addAge">
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data:{
                isShow: true,//默認值爲true
                age: 17,//默認值爲17
            },
            methods: {//定義方法
                changeIsShow:function(){//修改isShow的值
                    this.isShow = !this.isShow;
                },
                addAge:function(){//修改age的值
                    this.age++;
                    console.log(this.age);
                }
            },
        })
    </script>

</body>

</html>

2、效果展示

大家可以點擊下面兩個按鈕看看效果,這裏就不演示了

三、代碼演示 v-show 和 v-if 的區別

1、實例代碼

<!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>10_v-if和v-show指令的區別</title>
</head>

<body>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <div id = "app">
        <p v-if="isShow">你好北京:v-if</p>
        <p v-show="isShow">你好北京:v-show</p>
        <input type="button" value="切換狀態-isShow" @click="changeIsShow">
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data:{
                isShow: true,//默認值爲true
            },
            methods: {//定義方法
                changeIsShow:function(){//修改isShow的值
                    this.isShow = !this.isShow;
                },
           
            },
        })
    </script>

</body>

</html>

2、效果展示

(1)顯示的時候,我們檢查元素如下:

(2)不顯示的時候,我們檢查元素如下:

使用 v-if 指令的元素,直接從我們dom樹中移除了。而使用 v-show 指令,是改變樣式,操作元素的 display。

所以頻繁使用用v-show指令,反之用v-if,因爲操作dom樹對於性能的消耗比較大,所以 v-if 指令不適合頻繁使用。

 

四、內容-總結

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章