例:从数组list第二位(下标为1)开始遍历 :
<div v-for="(i, index) in list.slice(1, list.length)" :key="index">
<div>{{i}}</div>
例:从数组list第二位(下标为1)开始遍历:<div v-for="(i, index) in list.slice(1, list.length)" :key="index"> <div>{{i}}</div></div>
<!--星级,循环固定次数 5次 根据酒店等级显示亮的星星和灰色的星星-->
<svg class=icon aria-hidden=true v-for=index of 5 :key=index>
<use v-if=index xss=removed rel=external></use>
<use v-else xlink:hre
当v-for遍历的时候,一个参数是每一项值(item),2个参数是每一项值和索引(item,index),3个参数*是每一项值,索引,下标(item,index,i)。
当v-for遍历对象时,每一项,索引,下标,都有值。下标从0开始。
当v-for遍历数组对象时,每一项,索引,有值。 下标没有值,索引从0开始。
当v-for遍历数字时,每一项,索引,有值。下标没有值,索引从0开始,会跟上面的索引相同报错,不影响使用。
遍历对象(goods)获取菜单栏每一项的对象(item)和下标(index)
添加点击事件toggle(),传入下标参数:@click=”fn1();fn2()”
动态切换classname::class=”{‘active’:index ==checkindex }”> (class赋予对应下标值的DOM)
ps:该方法直接切换class,不需要手动添加清除其他非动态DOM的class
<li v-for=(item,index) in goods class=menu-item @click=toggle(index);scrollToFoo
需求:根据主键id来找到对应的数组下标
原本的方法是使用for循环遍历该数组,变量 i 就是下标,问题在于,如果有多重for循环,就会导致性能大大下降,数据也容易出错
因此使用map,让数组(原本是list)变成一个map集合(key-value形式),把主键id当做key,下标当做value,一一对应,需要的时候直接使用map.get(key)就可以获取到对应的value
1.在data{}中先定义一个map全局变量
2.在数据回显或有全部数据的地方把数组list变成map
该例子数据结构是[{}],所以有2个for循环 item也是[{}]结构
这里的item[j].compon
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
在内存中,序列是一块用来存储多个值的连续的内存空间。
一个对象包含:内存地址id,数据类型type,数值value三部分,序列中存储的是对象的id。
列表索引,从前往后,下标从0开始,从后往前,下标从-1开始。
list.append(obj) #在列表末尾添加新的对象
list.extend(
index来源于v-for,i表示遍历的数组的元素,index表示索引。
由于index从0开始,因此如果要指定第一项有active这个类,那么就用v-bind:class=”{‘active’:!index}”
第一项原本是false(0),第二项和之后是true(>0),通过逻辑非操作符,让其值反转。
在Vue中,使用v-for指令可以很方便地遍历数组,并渲染出对应的DOM元素。这个指令可以接受一个参数:别名。这个别名可以是任何合法的JS变量名称,它表示当前遍历到的数组元素。
如果想要遍历数组的指定下标,则可以使用Vue提供的$index变量作为索引。$index表示当前遍历到的元素的下标,从0开始。
例如,下面这个代码片段展示了如何使用v-for指令遍历数组,并只渲染出数组前三个元素:
<li v-for="(item, index) in items" v-if="index < 3">
{{ item }}
在这个例子中,第一个参数item表示数组元素的值,第二个参数index表示数组元素的下标。我们在v-if指令中对index进行了判断,只渲染前三个元素。
所以,如果想要遍历数组的指定下标,只需要在v-for指令中使用$index变量即可,例如:
<div v-for="(item, index) in items" v-if="index === 2">
{{ item }}
在这个例子中,只渲染了数组下标为2的那个元素,其他元素都被忽略了。