vue學習——v-for語句


Vue v-for語句


在學習v-for語句之前,先了解一下vue是怎么數據綁定
數據綁定最常見的形式就是使用“Mustache”語法 (雙大括號) 的文本插值:

<span>Message: {{ msg }}</span>

Mustache 標簽將會被替代為對應數據對象上 msg 屬性的值。無論何時,綁定的數據對象上 msg 屬性發生了改變,插值處的內容都會更新。

通過使用 v-once 指令,你也能執行一次性地插值,當數據改變時,插值處的內容不會更新。但請留心這會影響到該節點上的其它數據綁定:

<span v-once>這個將不會改變: {{ msg }}</span>

v-for把一個數組對應為一組元素

上文那樣的搭建vue環境后.

v-for語法法
我們用 v-for 指令根據一組數組的選項列表進行渲染。v-for 指令需要使用 item in items 形式的特殊語法,items 是源數據數組並且 item 是數組元素迭代的別名。當然你也可以用你喜歡的別名。如:

<div id="app">
        <ul>
            <li v-for="string in aString">{{string}}</li>
        </ul>
    </div>

data數據屬性中,寫上一個素組的信息:

// 簡單學習vue v-for迭代
        var app = new Vue({
            el: '#app',
            data: {
                aString:['我','是','數','組']
        })

結果:

一個對象的 v-for

<ul>
    <li>{{objInArr}}</li>
    <li v-for="obj in objInArr">{{obj.name}} : {{obj.sex}}</li>
</ul>
var app = new Vue({
            el: '#app',
            data: {
               objInArr: [
                    {
                    name: "我是數組里面的對象1",
                    sex: "gay"
                    },
                    {
                    name: "我是數組里面的對象2",
                    sex: "gay"
                    },
                    {
                    name: "我是數組里面的對象3",
                    sex: "gay"
                    },
                ],
                
            }
            
        })

結果:
v-for

你甚至可以在操作對象時使用另外兩個參數(一定得是對象):
(value, key, index) in object

<ul>
     <li>key和index演示</li>
     <li v-for="(value, key, index) in student"> {{index}}.{{key}}:{{value}} </li>
</ul>
var app = new Vue({
            el: '#app',
            data: {
 			student: {
                        name: "這里是對象",
                        sex: "gay",
                        num: 233
                    },
                  }
         })

結果:
v-for value key index

END

完整demo

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>v-for</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <div id="app">
        <ul>
            <li v-for="string in aString">{{string}}</li>
        </ul>
        
        <ul>
            <li>{{objInArr}}</li>
            <li v-for="obj in objInArr">{{obj.name}} : {{obj.sex}}</li>
        </ul>
        <ul>
            <li>key和index演示</li>
            <li v-for="(value, key, index) in student"> {{index}}.{{key}}:{{value}} </li>
        </ul>
        <div v-for="(value, key, index) in object">
                {{ index }}. {{ key }}: {{ value }}
              </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>

    <script>
        // 簡單學習vue v-for迭代
        var app = new Vue({
            el: '#app',
            data: {
                aString:['我','是','數','組'],
                
                objInArr: [
                    {
                    name: "我是數組里面的對象1",
                    sex: "gay"
                    },
                    {
                    name: "我是數組里面的對象2",
                    sex: "gay"
                    },
                    {
                    name: "我是數組里面的對象3",
                    sex: "gay"
                    },
                ],

                student: {
                        name: "這里是對象",
                        sex: "gay",
                        num: 233
                    },
                
            }
            
        })
    </script>
</body>
</html>


免責聲明!

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



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