Vue條件渲染&列表渲染
阿新 • • 發佈:2021-10-05
條件渲染:
v-if
:適用於切換頻率較低的場景;不展示的DOM元素直接被移除;可以和v-else-if v-else
一起使用,但是結構不能被打斷。v-show
:適用於切換頻率較高的場景;不展示的DOM元素未被移除,僅僅是使用樣式隱藏掉。
列表渲染:
<ul> <li v-for='(value,index) in data' :key='index'></li> </ul> <ul> <li v-for='(value,index) in data' :key='value.id'></li> </ul>
使用index作為key可能引發的問題?
1. 若對資料進行逆序新增、逆序刪除等破壞操作會產生沒有必要的真是DOM更新 => 介面效果沒問題,但效率低。
2. 如果結構中還包含輸入類的DOM,會產生錯誤的DOM更新 => 介面有問題。
開發中如何選擇key?
1. 最好使用每條資料的唯一標識作為key,如主鍵id.
2. 如果不對資料進行逆序新增或刪除等破壞順序操作,僅用於渲染列表展示,可以使用index作為key.