uni-app 双重v-for 第二个v-for是动态组成时 绑定事件输出item全部数值 数据异常
uni-app 双重v-for 第二个v-for是动态组成时 绑定事件输出item全部数值 数据异常
操作步骤:
- uniapp编译3.18版本 双重循环 第二个循环是动态循环时输出 第一个循环的item数据异常
预期结果:
- 正常输出
实际结果:
- 数据异常
bug描述:
- 双重v-for 第二个v-for是动态组成时 绑定事件输出item全部数值,数据异常 图1是代码循环的步骤和第二个循环的组装方式,绑定的@click事件中输出的items数据是异常的,如果不是动态的数据会是正常的。图二图三分别是正常输出和异常输出,最后发现问题出至于uiniapp编译的版本问题,又重新下载了3.12版本之后输出正常
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/小程序/微信 |
| PC开发环境 | Windows |
| 操作系统版本号 | Windows 10专业版 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.1.18 |
| 第三方开发者工具 | 1.05 |
| 基础库版本号 | 2.17 |
| 项目创建方式 | HBuilderX |

更多关于uni-app 双重v-for 第二个v-for是动态组成时 绑定事件输出item全部数值 数据异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
7 回复
希望官方能解决一下
更多关于uni-app 双重v-for 第二个v-for是动态组成时 绑定事件输出item全部数值 数据异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
有人遇到同样的问题了吗
图片详细描述了 官方可以尝试一下
11111
官方可以给个反馈吗
现在都不敢升版本了
这是一个已知的 uni-app 编译版本问题。在 3.1.18 版本中,双重 v-for 循环在第二个循环使用动态数据时,事件绑定的 item 作用域会出现异常,导致输出的数据不正确。
问题分析:
当第二个 v-for 使用动态生成的数据时,编译后的代码在事件处理函数中无法正确捕获当前循环项的引用,而是引用了错误的变量作用域。这属于编译器在处理嵌套循环作用域时的 bug。
解决方案:
- 临时回退版本:如你所述,回退到 3.1.12 版本可以暂时解决
- 手动绑定数据:在事件处理中通过参数显式传递所需数据
[@click](/user/click)="handleClick(item, subItem)"

