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

VUE 中的 v-for 和 v-if 是否可以共存

這篇具有很好參考價(jià)值的文章主要介紹了VUE 中的 v-for 和 v-if 是否可以共存。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

要成功,先發(fā)瘋,頭腦簡(jiǎn)單往前沖!

三金四銀,金九銀十,多學(xué)知識(shí),也不能埋頭苦干,要成功,先發(fā)瘋,頭腦簡(jiǎn)單往前沖!
最近發(fā)現(xiàn)很多人也在問我v-for 和 v-if 的面試問題,那么下面我就個(gè)大家分析一下!

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue

1、面試經(jīng)


提到這個(gè)問題,很多人肯定會(huì)脫口而出:
	
 1. Vue2 中 不可以
 2. Vue3 中 可以

再往深問,可能少部分人會(huì)回答出:

1. Vue2 中 v-for 優(yōu)先級(jí)比 v-if2. Vue3 中 v-if 優(yōu)先級(jí)比 v-for

但是其實(shí)很多人都是背的,具體為啥會(huì)這樣,很多人都沒搞清楚,稍微再往深一問,95%的人就回答不出來了~

分析Vue2:

在項(xiàng)目中使用 v-for 和 v-if 共存與一個(gè)標(biāo)簽上,Vue2 中肯定會(huì)警告我們,不建議這么做,但是為啥不建議,根本沒幾個(gè)人知道~

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue

	可以看到在 Vue2 中,會(huì)先循環(huán),然后在循環(huán)中去判斷,判斷為真則正常渲染,
	判斷為假則執(zhí)行 _e 函數(shù),_e函數(shù)就是注釋的意思,就是把判斷為假的節(jié)點(diǎn)注釋掉,也就是:
	1、先走 v-for 循環(huán) 32、在循環(huán)體中走 v-if 判斷
	3、判斷 item === 2 則正常渲染,item === 2 則把這個(gè)節(jié)點(diǎn)注釋掉
	所以最終選出出來 1、3 兩個(gè)節(jié)點(diǎn)

因?yàn)槠鋵?shí)我們只需要渲染2個(gè)節(jié)點(diǎn),但是最終還是循環(huán)了3次,造成了性能浪費(fèi),也就是 v-for 優(yōu)先級(jí)高于 v-if,共存時(shí)會(huì)造成性能浪費(fèi)

分析Vue3:

但是在 Vue3 中,v-for 和 v-if 卻是可以共存的,為什么呢?我們還是拿最簡(jiǎn)單的代碼來分析

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue

可以到這個(gè)網(wǎng)站:**https://play.vuejs.org/**,看到解析后的代碼

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue
VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue

可以看到,跟 Vue2 不同的是,Vue3 中是先走判斷,然后再走循環(huán)的,也就是:
	1、先走 v-if 判斷
	2、如果 item !== 2,就去走循環(huán)也就是 v-for
	3、如果 item == 2,就執(zhí)行 createCommandVNode,創(chuàng)建一個(gè)注釋節(jié)點(diǎn)
	也就是在 Vue3 中,v-if 優(yōu)先級(jí)是高于 v-for 的,真正循環(huán)的只有1、3這兩個(gè)節(jié)點(diǎn),
	這提高了性能!
	因?yàn)樵?v-for 和 v-if 共存的時(shí)候,Vue3 會(huì)在底層幫我們轉(zhuǎn)換成

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue

2、正確回答

	1、首先解答完vue2和vue3后的利和弊
	2、給出如何解決這個(gè)問題的思路,如使用computed處理

3、總結(jié)


總結(jié)就是不要讓 v-if 和 v-for 共存在同一個(gè)標(biāo)簽中,遇到這種情況需要使用 computed 去計(jì)算,然后再去渲染!

VUE 中的 v-for 和 v-if 是否可以共存,前端面試題,javascript,面試,vue


總結(jié):

前端路上 | 所知甚少,唯善學(xué)。
各位小伙伴有什么疑問,歡迎留言探討。

— 關(guān)注我:前端路上不迷路 —文章來源地址http://www.zghlxwxcb.cn/news/detail-802058.html




到了這里,關(guān)于VUE 中的 v-for 和 v-if 是否可以共存的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • HTML簡(jiǎn)單實(shí)現(xiàn)v-if與v-for與v-model

    HTML簡(jiǎn)單實(shí)現(xiàn)v-if與v-for與v-model

    首先VIewModel將View和Model連接一起,Model的數(shù)據(jù)改變View的數(shù)據(jù)也變 使用Visual Studio Code 啟動(dòng)Vue需要vue.js插件和導(dǎo)入CDN(包) vue.js插件:CTRL + shift + x 在搜索欄搜 索vue.js安裝即可 CDN: https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js VS創(chuàng)建一個(gè).html的文件 div /div塊為view層(模板) script /s

    2024年02月06日
    瀏覽(20)
  • 2、簡(jiǎn)單上手+el掛載點(diǎn)+v-xx(v-text、v-html、v-on、v-show、v-if、v-bind、v-for)

    vue3:https://cn.vuejs.org/ vue2:https://v2.cn.vuejs.org/v2/guide/ 流程: 導(dǎo)入開發(fā)版本的Vue.js 創(chuàng)建Vue實(shí)例對(duì)象,設(shè)置el屬性和data屬性。 使用簡(jiǎn)潔的模板語法把數(shù)據(jù)渲染到頁面上 示例: Vue實(shí)例的作用范圍是什么呢? Vue會(huì)管理el選項(xiàng)命中的元素及其內(nèi)部的后代元素。 是否可以設(shè)置其他的

    2024年02月13日
    瀏覽(18)
  • Vue.js 中的 v-if 和 v-show 有什么區(qū)別?

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

    在 Vue.js 中,v-if 和 v-show 都是用來控制元素的顯示和隱藏的指令。但是,它們之間有一些區(qū)別。本文將深入探討 v-if 和 v-show 的區(qū)別,并給出一些相關(guān)的代碼示例。 v-if 是一種條件渲染指令,它根據(jù)表達(dá)式的值來決定是否渲染元素。如果表達(dá)式的值為 true,那么元素將被渲染;

    2024年02月08日
    瀏覽(21)
  • GuLi商城-前端基礎(chǔ)Vue-指令v-if、v-show、v-else、v-else-if
  • vue中的v-for循環(huán)

    如果是一個(gè)變量,那么保存的是對(duì)象中的屬性值 如果是兩個(gè)變量,那么第一個(gè)變量保存的是屬性值,第二個(gè)變量保存的是屬性名 如果是三個(gè)變量,那么第一個(gè)變量保存的是屬性值,第二個(gè)變量保存的是屬性名,第三個(gè)變量保存的是下標(biāo) v-for=\\\"o1 in obj\\\" ? ? ? ? ?o1:屬性值 v-f

    2024年01月17日
    瀏覽(23)
  • GuLi商城-前端基礎(chǔ)Vue指令v-for
  • vue3【列表渲染】v-for 詳細(xì)介紹(vue中的“循環(huán)”)

    vue3【列表渲染】v-for 詳細(xì)介紹(vue中的“循環(huán)”)

    在本文之前已經(jīng)有文章簡(jiǎn)單概要介紹過vue中的渲染,點(diǎn)擊幫你快速復(fù)習(xí)????,包括 條件渲染 和 列表渲染 。 二者同樣重要,但是 對(duì)于項(xiàng)目而言,使用更多的是列表渲染,主要表現(xiàn)為“循環(huán)”。 下面讓我們繼續(xù)深入地了解列表渲染的相關(guān)內(nèi)容吧~?????? 我們可以使用 v-f

    2024年02月22日
    瀏覽(27)
  • vue學(xué)習(xí)之v-if/v-else/v-else-if

    vue學(xué)習(xí)之v-if/v-else/v-else-if

    v-else/v-else-if 創(chuàng)建 demo7.html,內(nèi)容如下 效果展示

    2024年02月08日
    瀏覽(21)
  • VUE v-if 和 v-show 區(qū)別和例子

    在Vue中,v-if和v-show是兩種常用的指令,用于控制組件的顯示和隱藏。下面是一些使用v-if和v-show的例子: v-if 在編譯過程中會(huì)被轉(zhuǎn)化成三元表達(dá)式,條件不滿?時(shí)不渲染此節(jié)點(diǎn)。 v-show 會(huì)被編譯成指令,條件不滿?時(shí)控制樣式將對(duì)應(yīng)節(jié)點(diǎn)隱藏(display:none) v-if html template ? ? di

    2024年01月22日
    瀏覽(23)
  • Vue 中 v-if 和 v-show 的區(qū)別

    v-if ?和? v-show ?是 Vue.js 中常用的條件渲染指令,它們的作用是根據(jù)條件來控制元素的顯示與隱藏。 格式也差不多: 當(dāng) isShow 為 true 時(shí)顯示當(dāng)前元素,為 false 時(shí)隱藏 雖然它們的效果類似,但是它們?cè)趯?shí)現(xiàn)原理和使用場(chǎng)景上有一些區(qū)別。 1. 實(shí)現(xiàn)原理: v-if :根據(jù)條件動(dòng)態(tài)添加

    2024年02月16日
    瀏覽(15)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包