vue 使用v-for進行循環


<!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是必須要寫的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM