vue中v-for和v-if不能在同一個標(biāo)簽使用的最新解決方案
推薦閱讀:
vue中v-for和v-if一起使用之使用compute的示例代碼
詳解vue中v-for和v-if一起使用的替代方法template
vue項目中同一個標(biāo)簽中不能同時使用v-if和v-for
問題描述
其實這個問題并不會影響vue項目的運行,但是會在編譯軟件上顯示一個報紅問題,在別的地方也報紅的時候很容易被誤導(dǎo),并且也不美觀,因此呢,需要找到一個合理的方案。
這里呢,我試著使用過內(nèi)外層嵌套的問題,但是,這種方式不符合我的業(yè)務(wù)需求,并且也達(dá)不到即判斷又渲染的問題,因此讓我苦惱的很長的時間,我甚至去查看了vue的源碼,并且發(fā)現(xiàn)了一些問題,其實說到底還是自己的腦子沒有轉(zhuǎn)過來
問題原因
就像我們可以見到 for 循環(huán)中嵌套 if 但是,if 中 怎么能嵌套 for呢?這是一個優(yōu)先級的問題,因為 for 的優(yōu)先級比 if 的高,所以在vue中 v-for 的優(yōu)先級比 v-if 更高
解決方案
這里描述了兩種解決方案:
第一種方案:
首先第一種是我最終項目的結(jié)局的方式,因為在vue中還有一個 v-show 剛好
可以滿足我的項目的需求,而且也不會報錯,因此一般,在這種情況下,我
們可以嘗試使用 v-show 來試試,是否滿足自己的項目需求。
第二種方案:
我們都知道vue中有一種特殊的空標(biāo)簽 template 標(biāo)簽,可以使用 template 標(biāo)
簽作為 循環(huán)標(biāo)簽,在標(biāo)簽中進(jìn)行在填寫主要標(biāo)簽進(jìn)行循環(huán)。
代碼如下:
<template v-for="(item, index) in list" > <div v-if="show" :key="index"> {{item .name}} </div > </template>
但是這種方式不符合我的項目需求,因此我使用的是第一種方法。
到此這篇關(guān)于vue中v-for和v-if不能在同一個標(biāo)簽的解決方案的文章就介紹到這了,更多相關(guān)vue中v-for和v-if不能在同一個標(biāo)簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項目中在可編輯div光標(biāo)位置插入內(nèi)容的實現(xiàn)代碼
這篇文章主要介紹了vue項目中在可編輯div光標(biāo)位置插入內(nèi)容的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01Vue拿到二進(jìn)制流圖片如何轉(zhuǎn)為正常圖片并顯示
這篇文章主要介紹了Vue拿到二進(jìn)制流圖片如何轉(zhuǎn)為正常圖片并顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06Vue3+elementui plus創(chuàng)建項目的方法
這篇文章主要介紹了Vue3+elementui plus創(chuàng)建項目的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12