前面介绍了 v-for 指令的基础用法,以及使用 v-for 指令根据数组渲染列表。当然,你也可以用 v-for 来遍历一个对象的属性。用法如下:
(1)仅仅遍历对象的值,如下:
<ul>
<li v-for="value of user">
{{ value }}
</li>
</ul>或者
<ul>
<li v-for="(value) of user">
{{ value }}
</li>
</ul>(2)遍历对象的属性名和属性值,如下:
<ul>
<li v-for="(value,key) of user" :key="key">
{{ key }} - {{ value }}
</li>
</ul>(3)遍历对象的属性名、属性值和下标值,如下:
<ul>
<li v-for="(value,key,index) of user" :key="key">
{{ index }} - {{ key }} - {{ value }}
</li>
</ul>注意:
user 待遍历的对象
value 遍历对象属性值
key 遍历对象属性名
index 遍历对象属性下标值
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue</title>
<!-- 使用 CDN 引入 Vue 库 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<ul>
<!-- key 为对象的属性名 -->
<!-- value 为对象属性的值 -->
<!-- index 为索引,从 0 开始 -->
<!-- 注意:value 和 key 名称可以根据自己需要修改,如:value 改为 v -->
<!-- 当然,也可以仅提供 value,或者 仅提供 key,如:v-for="value of user" -->
<li v-for="(value,key,index) of user" :key="key">
{{ index }} - {{ key }} - {{ value }}
</li>
</ul>
</div>
<script type="text/javascript">
var app = new Vue({
el: "#app",
data: {
user: {
id: 1000,
name: "ZhangSan",
email: "zhangsan@qq.com"
}
}
});
</script>
</body>
</html>运行效果图:

注意:v-for 在遍历对象时,会按 Object.keys() 的结果遍历,但是不能保证它的结果在不同的 JavaScript 引擎下都一致。