• Vue3学习系列之《列表渲染》


    目录

    1.v-for指令

    2.位置索引

    3.v-for与对象

    4.在v-for中使用范围值

    5.在template上使用v-for

    6.通过key管理状态

    7.数组变化侦测


           

            Vue的列表渲染指令为:v-for

    1.v-for指令

            v-for 指令是基于一个数组来渲染一个列表,其形式为:

    v-for="item in items"

            其中,items数组,item是数组迭代的子项。如下所示:

    1. data(){
    2. return {
    3. nums: [1,2,3]
    4. }
    5. }
    1. <ul>
    2. <li v-for="item in nums" :key="item">{{item}}li>
    3. ul>

            在 v-for 中可以完整地访问父作用域内的属性和变量。

    2.位置索引

            v-for 支持使用可选的第二个参数表示当前项的位置索引

    v-for="(item, index) in items"

            如下:

    1. <ul>
    2. <li v-for="(item, index) in nums" :key="item">
    3. {{index}} - {{item}}
    4. li>
    5. ul>

            运行效果为:

    • 0 - 1
    • 1 - 2
    • 2 - 3

    3.v-for与对象

            v-for可以遍历一个对象的所有属性。形式为:

    v-for="(value,  key,  index) in object"

    key:表示属性名

    value:属性值

            遍历的顺序会基于对该对象调用 Object.keys() 的返回值来决定。如下所示:

    1. data(){
    2. return {
    3. person:{
    4. name: "lucky",
    5. age: 18,
    6. address: "China"
    7. }
    8. }
    9. }
    1. <ul>
    2. <li v-for="(value, key, index) in person" :key="key">
    3. {{index}}: {{key}} - {{value}}
    4. li>
    5. ul>

            运行效果为:

    • 0: name - lucky
    • 1: age - 18
    • 2: address - China

    4.在v-for中使用范围值

            v-for 可以直接接受一个整数值。在这种用例中,会将该模板基于 1...n 的取值范围重复多次。

    <span v-for="n in 6" :key="n">{{ n }}span>

            运行效果为:

    123456

    5.在template上使用v-for