最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端必知必會(huì)之Vue?v-if指令詳解

 更新時(shí)間:2025年02月19日 11:01:05   作者:編程歲月  
這篇文章主要介紹了前端必知必會(huì)之Vue?v-if指令的相關(guān)資料,Vue中的條件渲染指令v-if、v-else-if和v-else用于根據(jù)條件動(dòng)態(tài)創(chuàng)建HTML元素,通過使用比較運(yùn)算符和邏輯運(yùn)算符,可以編寫復(fù)雜的條件邏輯,需要的朋友可以參考下

Vue v-if 指令

使用 v-if 指令在 Vue 中根據(jù)條件創(chuàng)建 HTML 元素比使用純 JavaScript 要容易得多。

使用 Vue,您只需在要有條件創(chuàng)建的 HTML 元素中直接編寫 if 語句即可。就這么簡(jiǎn)單。

Vue 中的條件渲染

Vue 中的條件渲染是通過使用 v-if、v-else-if 和 v-else 指令完成的。

條件渲染是指僅當(dāng)條件為真時(shí)才創(chuàng)建 HTML 元素,即如果變量為“true”,則創(chuàng)建文本“有貨”,如果變量為“false”,則創(chuàng)建文本“無貨”。

示例

根據(jù)是否有任何打字機(jī)存貨編寫不同的消息:

<p v-if="typewritersInStock">
有貨
</p>

<p v-else>
缺貨
</p>

Vue 中的條件

條件或“if 語句”是真或假的內(nèi)容。

條件通常是兩個(gè)值之間的比較檢查,如上例所示,以查看一個(gè)值是否大于另一個(gè)值。

我們使用比較運(yùn)算符(如 <、>= 或 !==)進(jìn)行此類檢查。

比較檢查還可以與邏輯運(yùn)算符(如 && 或 ||)結(jié)合使用。

我們可以使用存儲(chǔ)中的打字機(jī)數(shù)量和比較檢查來決定它們是否有貨:

示例

使用比較檢查根據(jù)存儲(chǔ)中的打字機(jī)數(shù)量決定是否寫入“有貨”或“缺貨”。

<p v-if="typewriterCount > 0">
有貨
</p>

<p v-else>
缺貨
</p>

條件渲染指令

指令詳情
v-if可以單獨(dú)使用,也可以與 v-else-if 和/或 v-else 一起使用。如果 v-if 中的條件為“真”,則不考慮 v-else-if 或 v-else。
v-else-if必須在 v-if 或另一個(gè) v-else-if 之后使用。如果 v-else-if 中的條件為“真”,則不考慮后面的 v-else-if 或 v-else。
v-else如果 if 語句的第一部分為假,則會(huì)發(fā)生此部分。必須放在 if 語句的最末尾,在 v-if 和 v-else-if 之后。

要查看包含上述所有三個(gè)指令的示例,我們可以使用 v-else-if 擴(kuò)展前面的示例,以便用戶看到“有貨”、“剩余很少!”或“缺貨”:

示例

使用比較檢查來決定是否根據(jù)存儲(chǔ)中的打字機(jī)數(shù)量寫入“有貨”、“剩余很少!”或“缺貨”。

<p v-if="typewriterCount>3">
有貨
</p>

<p v-else-if="typewriterCount>0">
剩余很少!
</p>

<p v-else>
缺貨
</p>

使用函數(shù)的返回值

我們可以使用函數(shù)的“true”或“false”返回值,而不是使用 v-if 指令的比較檢查:

示例

如果某個(gè)文本包含單詞“pizza”,則創(chuàng)建一個(gè)帶有適當(dāng)消息的 <p> 標(biāo)簽。 ‘includes()’ 方法是一種原生 JavaScript 方法,用于檢查文本是否包含某些單詞。

<div id="app">
<p v-if="text.includes('pizza')">文本包含單詞 'pizza'</p>
<p v-else>文本中未找到單詞 'pizza'</p>
</div>
data() {
return {
text: '我喜歡炸玉米餅、披薩、泰式牛肉沙拉、河粉湯和塔吉鍋。'
}
}

上述示例可以擴(kuò)展,以顯示 v-if 還可以創(chuàng)建其他標(biāo)簽,如 <div> 和 <img> 標(biāo)簽:

示例

如果某個(gè)文本包含單詞 ‘pizza’,則創(chuàng)建一個(gè)帶有披薩圖像的 <div> 標(biāo)簽和一個(gè)帶有消息的 <p> 標(biāo)簽。‘includes()’ 方法是一種原生 JavaScript 方法,用于檢查文本是否包含某些單詞。

<div id="app">
<div v-if="text.includes('pizza')">
<p>文本中包含單詞“pizza”</p>
<img src="img_pizza.svg">
</div>
<p v-else>文本中未找到單詞“pizza”</p>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
text: '我喜歡 taco、披薩、泰式牛肉沙拉、河粉湯和塔吉鍋。'
}
}
})
app.mount('#app')
</script>

下面的示例進(jìn)一步擴(kuò)展。

示例

如果某個(gè)文本包含單詞“pizza”或“burrito”或者不包含這些單詞,則會(huì)創(chuàng)建不同的圖像和文本。

<div id="app">
<div v-if="text.includes('pizza')">
<p>文本中包含單詞“pizza”</p>
<img src="img_pizza.svg">
</div>
<div v-else-if="text.includes('burrito')">
<p>文本中包含單詞“burrito”,但不包含“pizza”</p>
<img src="img_burrito.svg">
</div>
<p v-else>文本中未找到單詞“pizza”或“burrito”</p>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
text: '我喜歡 taco、披薩、泰式牛肉沙拉、越南河粉湯和塔吉鍋。'
}
}
})
app.mount('#app')
</script>

使用 Vue,我們現(xiàn)在可以編寫在特定條件下創(chuàng)建元素的代碼,比使用傳統(tǒng) JavaScript 更容易。

為什么v-for優(yōu)先級(jí)更高?

Vue的設(shè)計(jì)者選擇讓 v-for 的優(yōu)先級(jí)高于 v-if,主要是為了符合直觀的邏輯和性能優(yōu)化的需要:

  • 邏輯直觀v-for 用于生成列表,而 v-if 用于條件篩選。先生成列表,再篩選符合條件的項(xiàng),這種順序更符合人類的思維習(xí)慣。

  • 性能優(yōu)化:如果先執(zhí)行 v-if,可能會(huì)導(dǎo)致不必要的循環(huán)計(jì)算,因?yàn)?v-if 的條件可能依賴于循環(huán)變量,而循環(huán)變量在 v-for 執(zhí)行后才可用。

總結(jié)

到此這篇關(guān)于前端必知必會(huì)之Vue v-if指令詳解的文章就介紹到這了,更多相關(guān)Vue v-if指令詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue框架搭建之a(chǎn)xios使用教程

    vue框架搭建之a(chǎn)xios使用教程

    本文重點(diǎn)介紹axios如何配合vue搭建項(xiàng)目框架,文章給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • vue3使用uView與uv-ui的詳細(xì)步驟

    vue3使用uView與uv-ui的詳細(xì)步驟

    文章介紹了如何在Vue3項(xiàng)目的uni-app中集成和使用uViewPlus和uv-ui兩個(gè)UI組件庫(kù),詳細(xì)描述了環(huán)境準(zhǔn)備、安裝組件庫(kù)、全局配置、組件使用、自定義主題以及常見問題解決等步驟,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • Vue如何實(shí)現(xiàn)自動(dòng)觸發(fā)功能

    Vue如何實(shí)現(xiàn)自動(dòng)觸發(fā)功能

    這篇文章主要介紹了Vue如何實(shí)現(xiàn)自動(dòng)觸發(fā)功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Vue.js中未控制的事件冒泡問題及解決過程

    Vue.js中未控制的事件冒泡問題及解決過程

    本文詳細(xì)探討了Vue.js中未控制的事件冒泡問題,包括常見的原因和解決方法,如使用.stop修飾符、調(diào)用event.stopPropagation()、使用.self修飾符以及合理設(shè)計(jì)組件結(jié)構(gòu),通過這些方法,可以有效解決事件冒泡導(dǎo)致的問題,提升應(yīng)用的性能和用戶體驗(yàn)
    2025-11-11
  • vue components 動(dòng)態(tài)組件詳解

    vue components 動(dòng)態(tài)組件詳解

    這篇文章主要介紹了vue components 動(dòng)態(tài)組件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • vue el-checkbox實(shí)現(xiàn)全選單選方式

    vue el-checkbox實(shí)現(xiàn)全選單選方式

    這篇文章主要介紹了vue el-checkbox實(shí)現(xiàn)全選單選方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue3?中使用?jsx?開發(fā)的詳細(xì)過程

    vue3?中使用?jsx?開發(fā)的詳細(xì)過程

    這篇文章主要介紹了vue3?中使用?jsx?開發(fā),本文著重說一下在使用 .vue 文件和 .jsx 文件在使用語法上的差異,需要的朋友可以參考下
    2022-09-09
  • Vue實(shí)現(xiàn)驗(yàn)證碼登錄的方法實(shí)例

    Vue實(shí)現(xiàn)驗(yàn)證碼登錄的方法實(shí)例

    最近在自己寫頁(yè)面,然后寫登錄注冊(cè)UI的時(shí)候需要一個(gè)驗(yàn)證碼組件,去搜一下沒找到什么合適的,于是自己寫一個(gè),這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)驗(yàn)證碼登錄的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • vue3 Element Plus中icon圖標(biāo)不顯示的解決方案

    vue3 Element Plus中icon圖標(biāo)不顯示的解決方案

    這篇文章主要介紹了vue3 Element Plus中icon圖標(biāo)不顯示的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解vuelidate 對(duì)于vueJs2.0的驗(yàn)證解決方案

    詳解vuelidate 對(duì)于vueJs2.0的驗(yàn)證解決方案

    本篇文章主要介紹了vuelidate 對(duì)于vueJs2.0的驗(yàn)證解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評(píng)論

策勒县| 南澳县| 武清区| 垦利县| 华池县| 浦东新区| 平昌县| 涞源县| 民县| 永川市| 祁门县| 山东| 武乡县| 奉贤区| 裕民县| 离岛区| 凤凰县| 惠安县| 安康市| 平罗县| 屯门区| 宜章县| 越西县| 汉中市| 青岛市| 扶余县| 永济市| 道真| 文登市| 亳州市| 合江县| 五大连池市| 合阳县| 浦东新区| 大邑县| 成安县| 仙桃市| 剑川县| 苏尼特左旗| 紫阳县| 科技|