溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue的v-if和v-show有什么區(qū)別

發(fā)布時(shí)間:2023-03-07 16:35:30 來(lái)源:億速云 閱讀:136 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“Vue的v-if和v-show有什么區(qū)別”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Vue的v-if和v-show有什么區(qū)別”吧!

一、v-if和v-show區(qū)別

① v-show嚴(yán)格意義來(lái)說(shuō)其實(shí)是條件隱藏,直接在頁(yè)面初始化的時(shí)候?qū)OM(對(duì)象模型)元素也初始化,因?yàn)樗褪菍?strong>它所在的元素添加一個(gè)display屬性為none,如果條件符合就顯示。
a. 文本框中無(wú)內(nèi)容,默認(rèn)為false,所以屬性顯示

Vue的v-if和v-show有什么區(qū)別

b. 文本框中輸入d,false變?yōu)閠ure,屬性消除

Vue的v-if和v-show有什么區(qū)別

② v-if嚴(yán)格意義來(lái)說(shuō)就是條件判斷,符合就加載DOM(對(duì)象模型)元素,不符合就不顯示。

a. 文本框中無(wú)內(nèi)容時(shí),不加載

Vue的v-if和v-show有什么區(qū)別

b. 文本框中輸入d,加載DOM

Vue的v-if和v-show有什么區(qū)別

二、生命周期

v-if切換一次就要重新走一次生命周期,比如說(shuō)重新構(gòu)建內(nèi)部事件和函數(shù),而v-show則就是頁(yè)面初始時(shí)走一遍生命周期,將其加載完畢,其他時(shí)候則都不會(huì)走相關(guān)的周期了。

三、性能的差異

① v-if更高的切換性能,比如說(shuō)需要判斷多個(gè)條件時(shí),就使用if。
② 如果需要頻繁的切換,選擇v-show,因?yàn)閟how是動(dòng)態(tài)的改變樣式,不需要增刪DOM(對(duì)象模型)元素,大項(xiàng)目推薦使用show,能極大減少瀏覽器后期的操作性能。
③ show不支持<template>語(yǔ)法。

代碼嘗試:
Ⅰ. v-if

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-if</title>
    <script src="/工具/vue.js"></script>
</head>

<body>
    <div id="app">
        快遞單號(hào) <input type="text" v-model="id">
        <button>查詢</button><br>
        <div v-if="id">
            <input type="text" v-model="id" >
        </div>
    </div>
    <script>
        new Vue({
            el: "#app",
            data: {
                id: '',
            },
            methods: {

            },
        })
    </script>
</body>

</html>

Ⅱ. v-show

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-show</title>
    <script src="/工具/vue.js"></script>
</head>

<body>
    <div id="app">
        快遞單號(hào) <input type="text" v-model="id">
        <button>查詢</button><br>
        <div v-show="id">
            <input type="text" v-model="id" >
        </div>
    </div>
    <script>
        new Vue({
            el: "#app",
            data: {
                id: '',
            },
            methods: {

            },
        })
    </script>
</body>

</html>

到此,相信大家對(duì)“Vue的v-if和v-show有什么區(qū)別”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI