list: [ { name: '肖枫', score: [{ math: 99, chinese: 100, english: 100, geography: 99, history: 98 }] }, { name: '安澜', score: [{ math: 90, chinese: 98, english: 89, geography: 96, history: 100 }] }, { name: '路小北', score: [{ math: 88, chinese: 87, english: 77, geography: 86, history: 78 }] }, { name: '许巍', score: [{ math: 39, chinese: 40, english: 76, geography: 90, history: 59 }] }, ] vue渲染
时间: 2024-02-10 15:10:46 浏览: 63
同样可以使用v-for指令循环渲染数组中的每一个元素,不过需要在循环体中再次使用v-for指令循环渲染嵌套的数组。具体步骤如下:
1. 在Vue实例的data中定义一个包含嵌套数组的对象,存储数据;
2. 在模板中使用v-for指令循环渲染外层数组中的每一个元素;
3. 在循环体中使用v-for指令循环渲染内层数组中的每一个元素;
4. 在循环体中使用特定语法,指定循环变量和数组名;
5. 在循环体中使用循环变量渲染每一个列表项。
示例代码如下:
```
<template>
<div>
<ul>
<li v-for="(item, index) in list" :key="index">
{{ item.name }}
<ul>
<li v-for="(scoreItem, scoreIndex) in item.score" :key="scoreIndex">
数学:{{ scoreItem.math }},语文:{{ scoreItem.chinese }},英语:{{ scoreItem.english }},地理:{{ scoreItem.geography }},历史:{{ scoreItem.history }}
</li>
</ul>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: [
{
name: '肖枫',
score: [
{
math: 99,
chinese: 100,
english: 100,
geography: 99,
history: 98
}
]
},
{
name: '安澜',
score: [
{
math: 90,
chinese: 98,
english: 89,
geography: 96,
history: 100
}
]
},
{
name: '路小北',
score: [
{
math: 88,
chinese: 87,
english: 77,
geography: 86,
history: 78
}
]
},
{
name: '许巍',
score: [
{
math: 39,
chinese: 40,
english: 76,
geography: 90,
history: 59
}
]
}
]
}
}
}
</script>
```
在上面的代码中,v-for指令中的item表示循环变量,index表示当前元素在数组中的索引,list表示要循环的数组。在循环体中,使用{{ item.name }}渲染每一个人名,然后再次使用v-for指令循环渲染内层数组中的每一个元素。在内层循环体中,使用{{ scoreItem.math }}等属性渲染每一个科目的分数。同样要为每一个列表项设置唯一的:key属性。
阅读全文