中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決v-if與v-for同時使用報錯的問題

發布時間:2022-03-29 11:46:05 來源:億速云 閱讀:621 作者:小新 欄目:開發技術

這篇文章主要介紹了如何解決v-if與v-for同時使用報錯的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在進行項目開發的時候因為在一個標簽上同時使用了v-for和v-if兩個指令導致的報錯。

報錯代碼如下:

<el-input 
  type="textarea"
  :autosize="{ minRows: 2, maxRows: 8}"
  v-for="Oitem in Object.keys(cItem)"
  :key="Oitem"
  v-if="Oitem !== 'title'"
  v-model="cItem[Oitem]">
</el-input>

提示錯誤:The 'undefined' variable inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if'

原因:v-for 的優先級比 v-if 的高,所以每次渲染時都會先循環再進條件判斷,而又因為 v-if 會根據條件為 true 或 false來決定渲染與否的,所以如果將 v-if 和 v-for一起使用時會特別消耗性能,如果有語法檢查,則會報語法的錯誤。

1. 將 v-for 放在外層嵌套 template (頁面渲染不生成 DOM節點) ,然后在內部進行v-if 判斷

<template v-for="Oitem in Object.keys(cItem)">
  <el-input 
    type="textarea"
    :autosize="{ minRows: 2, maxRows: 8}"
    :key="Oitem"
    v-if="Oitem !== 'title'"
    v-model="cItem[Oitem]">
  </el-input>
</template>

注意點:key值寫在包裹的元素中

2. 如果條件出現在循環內部,不得不放在一起,可通過計算屬性computed 提前過濾掉那些不需要顯示的項

<template>
  <div>
      <div v-for="(user,index) in activeUsers" :key="user.index" >{{ user.name }}</div>
  </div>
</template>
<script>
export default {
  name:'A',
  data () {
    return {
      users: [{name: 'aaa',isShow: true}, {name: 'bbb',isShow: false}]
    };
  },
  computed: {//通過計算屬性過濾掉列表中不需要顯示的項目
    activeUsers: function () {
      return this.users.filter(function (user) {
        return user.isShow;//返回isShow=true的項,添加到activeUsers數組
      })
    }
  }
};
</script>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決v-if與v-for同時使用報錯的問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临沂市| 闽侯县| 防城港市| 资兴市| 旬邑县| 大厂| 油尖旺区| 双柏县| 温宿县| 永德县| 甘德县| 南城县| 大兴区| 儋州市| 哈尔滨市| 红桥区| 大埔县| 民丰县| 浮梁县| 通辽市| 湄潭县| 中超| 通许县| 嘉峪关市| 承德市| 平顺县| 呼伦贝尔市| 全南县| 即墨市| 德格县| 莒南县| 平湖市| 安达市| 游戏| 桂林市| 鹤峰县| 建宁县| 大城县| 汉川市| 吴桥县| 宜阳县|