uniapp 微信小程序 v-for 的使用方法
在uniapp开发微信小程序时,如何使用v-for循环渲染列表数据?我在模板中写了<view v-for="(item, index) in list" :key="index">{{item.name}}</view>,但列表没有正确显示。请问正确的语法是什么?是否需要在小程序的配置文件中进行额外设置?另外,v-for的key值除了index还可以用什么?
2 回复
在uniapp中,使用v-for循环数据,语法与Vue相同:
<view v-for="(item, index) in list" :key="index">
{{ item.name }}
</view>
注意:必须添加:key提高性能,微信小程序中v-for支持循环数组和对象。
在 UniApp 中使用 v-for 渲染列表的方法与 Vue.js 相同,适用于微信小程序开发。以下是具体用法和注意事项:
基本语法
<template>
<view>
<!-- 遍历数组 -->
<view v-for="(item, index) in list" :key="index">
{{ item.name }} - 索引: {{ index }}
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [
{ name: '项目A' },
{ name: '项目B' },
{ name: '项目C' }
]
}
}
}
</script>
关键要点
-
必须指定
:key
小程序要求每个循环项有唯一 key(如id或index),用于优化渲染性能。 -
遍历对象(不推荐在小程序中使用)
<view v-for="(value, key) in object" :key="key"> {{ key }}: {{ value }} </view> -
嵌套循环
<view v-for="(group, gIndex) in nestedList" :key="gIndex"> <text>{{ group.category }}</text> <view v-for="(item, iIndex) in group.items" :key="iIndex"> {{ item.name }} </view> </view>
注意事项
- 避免在
v-for中使用复杂表达式,建议先在computed中处理数据 - 小程序中部分组件(如
<swiper-item>)需手动设置v-for - 若数据动态更新,需确保 key 值稳定性
通过以上方式可高效实现列表渲染,同时符合小程序规范要求。

