為什么v-if和v-for不建議同時(shí)使用

在官方文檔中明確指出v-for和v-if不建議一起使用。

原因vue2中v-for比v-if優(yōu)先級(jí)高 ,每一次都需要遍歷整個(gè)數(shù)組,造成不必要的計(jì)算,影響性能,即使100個(gè)list中只需要使用一個(gè)數(shù)據(jù),也會(huì)循環(huán)整個(gè)數(shù)組。

 <ul>
    <li v-for="item in list" v-if="item.actived">{{item.name}}</li>
 </ul>

解決:使用computed

<ul>
    <li v-for="item in activeList">{{item.name}}</li>
</ul>
computed: {
  activeList() {
    return this.list.filter(val => {
      return val.actived;
    });
  }
},

vue3中v-if比v-for優(yōu)先級(jí)高 因此v-if執(zhí)行時(shí)要調(diào)用的變量可能還不存在,會(huì)導(dǎo)致報(bào)錯(cuò),可以將v-for用template標(biāo)簽包裹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 風(fēng)格指南:https://cn.vuejs.org/v2/style-guide/ v-for和v-if不應(yīng)該一起...
    kathyb24閱讀 52,620評(píng)論 4 11
  • 當(dāng)v-if與v-for一起使用時(shí),v-for具有比v-if更高的優(yōu)先級(jí),這意味著v-if將分別重復(fù)運(yùn)行于每個(gè)v-f...
    奔跑吧兄弟_凱凱閱讀 1,339評(píng)論 0 0
  • v-for和v-if不應(yīng)該一起使用,必要情況下應(yīng)該替換成computed屬性。 原因:v-for比v-if優(yōu)先,如...
    玲兒瓏閱讀 1,380評(píng)論 0 0
  • 一、不應(yīng)同時(shí)使用v-for和v-if不應(yīng)該一起使用。原因:v-for比v-if優(yōu)先,即每一次都需要遍歷整個(gè)數(shù)組,影...
    小丘啦啦啦閱讀 10,861評(píng)論 1 4
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,984評(píng)論 0 5

友情鏈接更多精彩內(nèi)容