多层 VUE 循环中,在子循环中拿到父循环的 index
VUE 中可以实现多层循环,有的时候需要在当前循环中拿到上一层循环中的某个字段值或者 index,从而去进行判断或者是干别的事情,可以通过如下方法先拿到父循环的 index,然后通过 index 去拿其他想要的字段值:N层v-for 里面, 当前层的 index 可以通过 $index 得到 ,上一层的通过 $parent.$index, 在向上也是如此,以此类推!!!
·
VUE 中可以实现多层循环,有的时候需要在当前循环中拿到上一层循环中的某个字段值或者 index,从而去进行判断或者是干别的事情,可以通过如下方法先拿到父循环的 index,然后通过 index 去拿其他想要的字段值:
N层v-for 里面, 当前层的 index 可以通过
$index
得到 ,上一层的通过$parent.$index
, 在向上也是如此,以此类推!!!
举个栗子:
<div class = "fb-item" v-for = "item in data.questionnaire.questions">
<div class = "item-title oneline">
<div class = "title-number required">{{item.index}}.</div>
<div class = "title-text color-3">{{item.title}}</div>
<div class = "title-type color-9"> {{item.type}}</div>
</div>
<div class = "item-body" v-for = "choice in item.choices" v-if="item.type != '(问答)'">
<div class = "choice-body-item oneline" onclick="choiceEvent(this,{{$index}},{{$parent.$index}})">
<img src = "img/ic-unchecked.png" alt = "">
<div class = "item-text color-3">{{choice.content}}</div>
</div>
</div>
<div class = "item-body" v-if="item.type == '(问答)'">
<textarea class = "fb-text" id = "" placeholder = "请输入您的感想"></textarea>
</div>
</div>
在上面的例子中,在第二层循环 choice 里面有一个点击事件,通过这个事件拿到了上一层循环 item 的 index,然后在 JS 代码中,通过拿到的这个 index 就可以去获取 item 中的某个具体字段了。
PS:上面的代码中用的是 VUE 的 1.X 版本,v-for 的写法跟 2.X 的有点区别。
更多推荐
已为社区贡献33条内容
所有评论(0)