<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <title>vue中使用v-for</title> </head> <body> <div id="app"> <h3>回圈串列</h3> <table> <thead> <tr> <th>序號</th> <th>書名</th> <th>作者</th> </tr> </thead> <tbody> <tr v-for="(book,index) in books" :key="book.title"> <td>{{index+1}}</td> <td>{{book.title}}</td> <td>{{book.author}}</td> </tr> </tbody> </table> </div> <div id="app2"> <h3>回圈物件</h3> <div v-for="(value,key) in person"> {{key}}:{{value}} </div> </div> <script> new Vue({ el: '#app', data: { books: [{ title: '水滸傳', author: '施耐庵', }, { title: '三國演義', author: '羅貫中', }, { title: '西游記', author: '吳承恩', }, { title: '紅樓夢', author: '曹雪芹', }, ] } }) </script> <script> new Vue({ el: '#app2', data: { person: { name: 'Xsan', age: 26, } } }) </script> </body> </html>
"(book,index) in books"是回圈運算式,式中的“(book,index)”不可調換位置,物件,第二個才是索引,且索引是從0開始的,所以在下面寫序號時,才會是“+1” 第一個永遠為物件,
回圈狀態保持,默認情況下,如果陣列中的順序發生變化,或者個數發生變化導致重新渲染,那么vue會重新利用之前的元素,而不會重新排序,這樣在某些情況下可能是想要的,但是絕大部分情況可能不是我們想要的,這時候可以添加key屬性,可以只能夠是number和str型別,那么在回圈時一般使用回圈出來的物件的某個唯一值,不要使用index來做key,這樣雖然用了,但是沒有效果,在vue2.2.x以上,在自定義組件上使用v-for,key是必須要寫的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/72065.html
標籤:Html/Css
上一篇:巧妙實作帶圓角的漸變邊框
