国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

零基礎(chǔ)入門Vue之To be or not to be——條件渲染

這篇具有很好參考價(jià)值的文章主要介紹了零基礎(chǔ)入門Vue之To be or not to be——條件渲染。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

溫故

上一節(jié):零基礎(chǔ)入門Vue之皇帝的新衣——樣式綁定

在前面的內(nèi)容能了解到,Vue不僅僅能進(jìn)行數(shù)據(jù)渲染還可以對樣式進(jìn)行綁定

并且他能隨意的切換樣式,但Vue的初衷就是盡量少讓使用者操作dom節(jié)點(diǎn)

加入你要讓指定dom顯示或者不顯示,該怎么辦呢?以目前的東西來說,不拿到dom節(jié)點(diǎn)還是做不到的

因此,Vue提供了另外的辦法去解決它:條件渲染

  • v-if
  • v-show

條件渲染之v-if

v-if 指令用于條件性地渲染一塊內(nèi)容。這塊內(nèi)容只會在指令的表達(dá)式返回 truthy 值的時(shí)候被渲染。

從官網(wǎng)上看,這個(gè)v-if指令理解起來也不難,就是說,想要顯示就

<div v-if="true"></div>

不想顯示就

<div v-if="false"></div>

v-if的基本用法

可以根據(jù)前面提到的原理,用一個(gè)變量去控制,畢竟雙引號里面可以寫js表達(dá)式

基于這個(gè)原理,實(shí)現(xiàn)一個(gè)點(diǎn)擊按鈕顯示文字,再點(diǎn)擊文字消失,再點(diǎn)擊顯示以此類推的效果


v-else與v-else-if

眾所周知,在變成語言里面分支是依賴于if-else或者是if-else-if來控制的(switch、三目暫且不論)

Vue也提供了這一種方式,允許根據(jù)一定條件下來控制多個(gè)dom節(jié)點(diǎn)的顯示或不顯示

PS:如果要使用這種辦法,dom節(jié)點(diǎn)必須連在一起不能拓展 且 當(dāng)條件為false的時(shí)候這個(gè)dom會被刪除,但為true的時(shí)候會添加進(jìn)去

請看如下例子:利用Vue的條件渲染,實(shí)現(xiàn)判斷密碼是否輸入錯(cuò)誤、輸入為空、輸入正確,并且給出提示

具體代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="root">
        <input type="password" v-model="pwd" placeholder="enter you pwd."><br/>
        
        <span v-if="pwd==''">密碼不能為空</span>
        <span v-else-if="pwd!=='123456'">密碼錯(cuò)誤</span>
        <span v-else >密碼正確</span>
    </div>
</body>
<script>
    let vm = new Vue({
        el:"#root",
        data:{
            pwd:""
        },
    })
</script>
</html>

條件渲染之v-show

v-show與v-if不同,v-show是直接讓節(jié)點(diǎn)不顯示,但并不是刪除

并且v-show沒有其他的else,他就只有一個(gè)true顯示false不顯示

看代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="root">
        <span v-show="show">Hello world</span><br/>
        <button @click="show=!show">點(diǎn)我顯示文字</button>
    </div>
</body>
<script>
    let vm = new Vue({
        el:"#root",
        data:{
            show:false
        },
    })
</script>
</html>

我比較懶,直接搬了v-if的基本使用的代碼,v-show的用法只有這一點(diǎn),其他的也無非是在""里面寫變量去控制顯示不顯示

打開瀏覽器的開發(fā)者調(diào)試工具可以看到當(dāng)show為false時(shí)這個(gè)節(jié)點(diǎn)存在但他被隱藏了,但v-if是直接刪除

ps:v-show比較適用于變動比較頻繁的場合,變動不需要渲染很多東西


The End

下一篇:零基礎(chǔ)入門Vue之影分身之術(shù)——列表渲染&渲染原理淺析文章來源地址http://www.zghlxwxcb.cn/news/detail-825138.html

到了這里,關(guān)于零基礎(chǔ)入門Vue之To be or not to be——條件渲染的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue3報(bào)錯(cuò):Extraneous non-props attributes (style) were passed to component but could not be automatical

    Vue3報(bào)錯(cuò):Extraneous non-props attributes (style) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. 翻譯是:無關(guān)的非道具屬性(樣式)被傳遞給組件,但由于組件呈現(xiàn)片段或文本根節(jié)點(diǎn)而無法自動繼承。 出現(xiàn)這個(gè) 錯(cuò)誤的原因 是在組件的節(jié)點(diǎn)

    2024年02月17日
    瀏覽(21)
  • 貪心算法解決To Fill or Not to Fill

    With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You are asked to carefully design the cheapest route to go. Each input file contains one test case. For each case, the first

    2024年02月21日
    瀏覽(17)
  • vue3警告Extraneous non-emits event listeners (XXX) were passed to component but could not be automatic

    vue3 警告Extraneous non-emits event listeners (selectMeth) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the “emits” option. 之所以出現(xiàn)這個(gè)警告,是因?yàn)樵谧咏M件向父組件發(fā)

    2024年02月09日
    瀏覽(22)
  • IDEA Kafka:Connection to node -2 could not be established. Broker may not be available

    IDEA Kafka:Connection to node -2 could not be established. Broker may not be available

    IDEA Kafka:Connection to node -2 could not be established. Broker may not be available. IDEA 報(bào)錯(cuò)內(nèi)容: 分析: 無法建立節(jié)點(diǎn)連接,Broker 不可用,需要考慮是 IDEA 連接出了問題,還是 Linux Kafka 服務(wù)出了問題 Linux Kafka 服務(wù): Kafka 服務(wù)是否正常啟動 檢查 hosts 文件映射 IDEA 端: 本地 host 映射是否一

    2024年02月15日
    瀏覽(23)
  • ES 創(chuàng)建太多 buckets 錯(cuò)誤: trying to create too many buckets. must be less than or equal to: [100000] but w

    ES 創(chuàng)建太多 buckets 錯(cuò)誤: trying to create too many buckets. must be less than or equal to: [100000] but w

    ES 創(chuàng)建太多 buckets 錯(cuò)誤: trying to create too many buckets. must be less than or equal to: [100000] but was [100001]. 錯(cuò)誤描述: 一般的解決方法 調(diào)大 search.max_buckets 的值,在 kibana 中直接執(zhí)行下列語句: 如果你的服務(wù)器能撐住,或者自身評估直接擴(kuò)大并無問題,那么本文的閱讀就可以到此為止

    2024年02月07日
    瀏覽(17)
  • Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.

    #spring.kafka.listener.type=single spring.kafka.bootstrap-servers : 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 spring.kafka.producer.retries = 1 spring.kafka.producer.acks = all spring.kafka.producer.batch-size = 16384 spring.kafka.producer.buffer-memory = 33554432 #spring.kafka.producer.client-id=hello-kafka spring.kafka.producer.key-serializer = org.apac

    2023年04月12日
    瀏覽(29)
  • org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned b

    org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned b

    在進(jìn)行數(shù)據(jù)查詢中爆出這個(gè)錯(cuò)誤mybatis操作數(shù)據(jù)庫時(shí)報(bào)錯(cuò) 錯(cuò)誤原因可能是:因?yàn)椴樵兘Y(jié)果的期望值為一條或者為空,但是實(shí)際上返回的值有兩條 。 解決的辦法有 : 1、檢查數(shù)據(jù)庫數(shù)據(jù)是否有錯(cuò)誤(重復(fù)); 2、檢查resultType 或resultMap中的數(shù)據(jù)類型是否和接口中的一致; 3、檢查操

    2024年02月11日
    瀏覽(20)
  • 徹底解決ES 數(shù)據(jù)查詢 from + size must be less than or equal to:xxx 問題

    ES分頁查詢時(shí)出現(xiàn)超過一萬頁就爆出這個(gè)錯(cuò)誤:Result window is too large, from + size must be less than or equal to: [10000] but… 該錯(cuò)誤是由于es默認(rèn)設(shè)置最大頁數(shù)為一萬的原因?qū)е碌?,這樣設(shè)置也是為了防止OOM。 第一種解決方式: 防止這個(gè)錯(cuò)誤出現(xiàn)是設(shè)置 index.max_result_window的值。但是這種

    2024年02月14日
    瀏覽(25)
  • Kafka【問題 03】Connection to node -1 (/IP:9092) could not be established. Broker may not be available.

    此問題僅出現(xiàn)在云服務(wù)器上,非云服務(wù)器未出現(xiàn)過一下報(bào)錯(cuò): 非云服務(wù)器: 云服務(wù)器: 云服務(wù)器有兩個(gè)IP,監(jiān)聽IP為云服務(wù)器IP,而advertised監(jiān)聽IP為云服務(wù)器的外網(wǎng)IP。

    2024年02月05日
    瀏覽(22)
  • Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.

    前言 這個(gè)錯(cuò)誤的意思是在執(zhí)行Git pull命令后,被拉?。╬ull)的遠(yuǎn)程倉庫版本和本地倉庫當(dāng)前的版本產(chǎn)生了沖突,Git 不知道該如何處理這個(gè)沖突,因此在控制臺輸出此錯(cuò)誤并停止執(zhí)行。 解決方法 要解決這個(gè)問題,你需要處理本地倉庫中的變更記錄,使其與遠(yuǎn)程倉庫版本保持一

    2024年02月16日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包