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

vue中v-if和v-for一起使用的弊端及解決辦法(同時(shí)使用 v-if 和 v-for不推薦)

 更新時(shí)間:2023年07月21日 09:30:28   作者:subsistent  
當(dāng) v-if 和 v-for 同時(shí)存在于一個(gè)元素上的時(shí)候,v-if 會(huì)首先被執(zhí)行,這篇文章主要介紹了vue中v-if和v-for一起使用的弊端及解決辦法,需要的朋友可以參考下

vue中v-if和v-for一起使用的弊端及解決辦法

同時(shí)使用 v-if 和 v-for 是不推薦的,因?yàn)檫@樣二者的優(yōu)先級(jí)不明顯。

當(dāng) v-if 和 v-for 同時(shí)存在于一個(gè)元素上的時(shí)候,v-if 會(huì)首先被執(zhí)行。這意味著 v-if 的條件將無法訪問到 v-for 作用域內(nèi)定義的變量別名:

<!--
 這會(huì)拋出一個(gè)錯(cuò)誤,因?yàn)閷傩?todo 此時(shí)
 沒有在該實(shí)例上定義
-->
<li v-for="todo in todos" v-if="!todo.isComplete">
  {{ todo.name }}
</li>

在外新包裝一層 <template> 再在其上使用 v-for 可以解決這個(gè)問題 (這也更加明顯易讀):

<template v-for="todo in todos">
  <li v-if="!todo.isComplete">
    {{ todo.name }}
  </li>
</template>

否則v-for比v-if優(yōu)先級(jí)高,如果遍歷的數(shù)組元素個(gè)數(shù)比較多,但是滿足v-if條件比較少的情況下,會(huì)浪費(fèi)性能,建議不要使用。而且,每次刷新頁面時(shí),都會(huì)執(zhí)行這樣性能不高的代碼。

如果v-if在v-for里面的話, 可以用計(jì)算屬性computed解決,通過數(shù)組方法filter過濾數(shù)組,v-for直接循環(huán)計(jì)算屬性的結(jié)果,就不需要使用v-if了。而且computed是有緩存的,就是在它的依賴沒有變化時(shí),不會(huì)再執(zhí)行對(duì)應(yīng)計(jì)算屬性的函數(shù),就提高了性能。

如果v-if在v-for外層的話,可以使用<template>標(biāo)簽。

v-if和v-for不能一起使用的原因以及解決辦法

原因:

由于v-for的優(yōu)先級(jí)比v-if高,所以導(dǎo)致每循環(huán)一次就會(huì)去v-if一次,而v-if是通過創(chuàng)建和銷毀dom元素來控制元素的顯示與隱藏,所以就會(huì)不停的去創(chuàng)建和銷毀元素,造成頁面卡頓,性能下降

解決方案:

第一種:將 v-if 和 v-for 分別放在不同標(biāo)簽中

<ul v-if="active">
   <li v-for="(item, index) in list" :key="inde">
       <p>{{item.name}}</p>
   </li>
 </ul>

第二種:如果 v-if 和 v-for 只能放在同一級(jí)標(biāo)簽中,使用計(jì)算屬性進(jìn)行改造:

let title = "自定義"
 <ul v-for="(item, index) in lists(list, title)" :key="index">
   <li>{{item.name}}</li>
 </ul>
computed: {
    lists () {
      return (item, name) => {
        return item.filter(item => item.name !== name)
      }
    }
  }

以上兩種方法都可以解決 eslint 的報(bào)錯(cuò)。

到此這篇關(guān)于vue中v-if和v-for一起使用的弊端及解決辦法的文章就介紹到這了,更多相關(guān)vue中v-if和v-for使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果實(shí)例詳解

    Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果實(shí)例詳解

    這篇文章主要介紹了Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • vue路由跳轉(zhuǎn)攜帶參數(shù)的方式總結(jié)

    vue路由跳轉(zhuǎn)攜帶參數(shù)的方式總結(jié)

    我們知道在vue中每個(gè)頁面都需要在路由中聲明,下面這篇文章主要給大家介紹了關(guān)于vue路由跳轉(zhuǎn)攜帶參數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • vue-cli2與vue-cli3在一臺(tái)電腦共存的實(shí)現(xiàn)方法

    vue-cli2與vue-cli3在一臺(tái)電腦共存的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue-cli2與vue-cli3在一臺(tái)電腦共存的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue3?localStorage讀取數(shù)組并賦值的問題及解決

    Vue3?localStorage讀取數(shù)組并賦值的問題及解決

    這篇文章主要介紹了Vue3?localStorage讀取數(shù)組并賦值的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 使用vue-cli創(chuàng)建vue項(xiàng)目介紹

    使用vue-cli創(chuàng)建vue項(xiàng)目介紹

    這篇文章介紹了使用vue-cli創(chuàng)建vue項(xiàng)目的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Vue中狀態(tài)管理器(vuex)詳解以及實(shí)際應(yīng)用場景

    Vue中狀態(tài)管理器(vuex)詳解以及實(shí)際應(yīng)用場景

    Vuex是一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,下面這篇文章主要給大家介紹了關(guān)于Vue中狀態(tài)管理器(vuex)詳解以及實(shí)際應(yīng)用場景的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • vue3父子通信ref,toRef,toRefs使用實(shí)例詳解

    vue3父子通信ref,toRef,toRefs使用實(shí)例詳解

    這篇文章主要介紹了vue3父子通信ref,toRef,toRefs使用實(shí)例詳解,分別介紹了ref是什么、toRef是什么及toRefs是什么和最佳使用方式,結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • vue 實(shí)現(xiàn)websocket發(fā)送消息并實(shí)時(shí)接收消息

    vue 實(shí)現(xiàn)websocket發(fā)送消息并實(shí)時(shí)接收消息

    這篇文章主要介紹了vue 實(shí)現(xiàn)websocket發(fā)送消息并實(shí)時(shí)接收消息,項(xiàng)目結(jié)合vue腳手架和websocket來搭建,本文給大家分享實(shí)例代碼,需要的朋友可以參考下
    2019-12-12
  • vue發(fā)送ajax請(qǐng)求詳解

    vue發(fā)送ajax請(qǐng)求詳解

    如何利用vue進(jìn)行AJAX,其它vue本身不支持發(fā)送AJAX請(qǐng)求,需要使用vue-resource(vue1.0版本)或axios(vue2.0版本)第三方插件的支持才行
    2018-10-10
  • 最新Vue過濾器介紹及使用方法

    最新Vue過濾器介紹及使用方法

    過濾器是vue為開發(fā)者提供的功能,常用于文本的格式化,過濾器應(yīng)該被添加在JavaScrip表達(dá)式的尾部,由“管道符”進(jìn)行調(diào)用,這篇文章通過案例給大家講解Vue過濾器介紹及使用方法,需要的朋友參考下吧
    2022-11-11

最新評(píng)論

游戏| 临清市| 唐河县| 阿坝县| 凤凰县| 田阳县| 息烽县| 双柏县| 时尚| 临猗县| 永年县| 承德县| 本溪市| 顺平县| 婺源县| 连城县| 漳州市| 株洲市| 南康市| 京山县| 浦城县| 镇宁| 万州区| 阜宁县| 泾源县| 曲靖市| 灵川县| 武冈市| 宁安市| 金阳县| 辽源市| 万源市| 天镇县| 天等县| 常州市| 尼勒克县| 贺兰县| 尚志市| 宜城市| 定日县| 顺义区|