Vue v-for使用详解
生活随笔
收集整理的這篇文章主要介紹了
Vue v-for使用详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Vue指令之v-for和key屬性
1.迭代數組
<ul><li v-for="(item, i) in list">索引:{{i}} --- 姓名:{{item.name}} --- 年齡:{{item.age}}</li> </ul>2.迭代對象中的屬性
<!-- 循環遍歷對象身上的屬性 --><div v-for="(val, key, i) in userInfo">{{val}} --- {{key}} --- {{i}}</div>3.迭代數字
<p v-for="i in 10">這是第 {{i}} 個P標簽</p>4.循環普通數組
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue-2.4.0.js"></script> </head><body><div id="app"><!-- <p>{{list[0]}}</p><p>{{list[1]}}</p><p>{{list[2]}}</p><p>{{list[3]}}</p><p>{{list[4]}}</p> --><p v-for="(item, i) in list">索引值:{{i}} --- 每一項:{{item}}</p></div><script>// 創建 Vue 實例,得到 ViewModelvar vm = new Vue({el: '#app',data: {list: [1, 2, 3, 4, 5, 6]},methods: {}});</script> </body></html>5.循環對象數組
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue-2.4.0.js"></script> </head><body><div id="app"><p v-for="(user, i) in list">Id:{{ user.id }} --- 名字:{{ user.name }} --- 索引:{{i}}</p></div><script>// 創建 Vue 實例,得到 ViewModelvar vm = new Vue({el: '#app',data: {list: [{ id: 1, name: 'zs1' },{ id: 2, name: 'zs2' },{ id: 3, name: 'zs3' },{ id: 4, name: 'zs4' }]},methods: {}});</script> </body></html>6.循環對象
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue-2.4.0.js"></script> </head><body><div id="app"><!-- 注意:在遍歷對象身上的鍵值對的時候, 除了 有 val key ,在第三個位置還有 一個 索引 --><p v-for="(val, key, i) in user">值是: {{ val }} --- 鍵是: {{key}} -- 索引: {{i}}</p></div><script>// 創建 Vue 實例,得到 ViewModelvar vm = new Vue({el: '#app',data: {user: {id: 1,name: '托尼·顆',gender: '男'}},methods: {}});</script> </body></html>7.迭代數字
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue-2.4.0.js"></script> </head><body><div id="app"><!-- in 后面我們放過 普通數組,對象數組,對象, 還可以放數字 --><!-- 注意:如果使用 v-for 迭代數字的話,前面的 count 值從 1 開始 --><p v-for="count in 10">這是第 {{ count }} 次循環</p></div><script>// 創建 Vue 實例,得到 ViewModelvar vm = new Vue({el: '#app',data: {},methods: {}});</script> </body></html>2.2.0+ 的版本里,當在組件中使用 v-for 時,key 現在是必須的。
當 Vue.js 用 v-for 正在更新已渲染過的元素列表時,它默認用 “就地復用” 策略。如果數據項的順序被改變,Vue將不是移動 DOM 元素來匹配數據項的順序, 而是簡單復用此處每個元素,并且確保它在特定索引下顯示已被渲染過的每個元素。
為了給 Vue 一個提示,以便它能跟蹤每個節點的身份,從而重用和重新排序現有元素,你需要為每項提供一個唯一 key 屬性。
完整代碼:
如果不使用key的話
添加新元素進去之后,勾選的對應的是索引號,就會出現bug
但是用key的話,就不會有這樣的bug了,勾選的一樣是荀子
總結
以上是生活随笔為你收集整理的Vue v-for使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鲁滨逊漂流记读后感100字
- 下一篇: 氢氧化钠遇水会不会放热