JQ0
JQ0
  • 发布:2025-12-01 10:51
  • 更新:2025-12-01 10:56
  • 阅读:25

【报Bug】v-for下v-if重复执行

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11专业版22631.5039

HBuilderX类型: 正式

HBuilderX版本号: 4.87

第三方开发者工具版本号: 稳定版 Stable Build (1.06.2412050)

基础库版本号: 3.7.10

项目创建方式: HBuilderX

示例代码:

<template v-for="(item, index) in 1" :key="index">
<view v-if="ifShow('v-if', item, index)">{{ item }}</view>
<view v-show="ifShow('v-show', item, index)">{{ item }}</view>
</template>

function ifShow(type: string, item: number, index: string): boolean {
console.log('ifShow', type, item, index);
return false;
}

操作步骤:

如代码实例操作

预期结果:

console.log('ifShow', type, item, index);v-if执行一次

实际结果:

console.log('ifShow', type, item, index);v-if执行二次

bug描述:

v-for下v-if会被重复执行

2025-12-01 10:51 负责人:无 分享
已邀请:
jgj_app

jgj_app

item 是 0 跟 1 吧,是执行 2 次啊

  • JQ0 (作者)

    item是1,v-for="(item, index) in 1" 循环只执行一次才对,index也只打印了0,实际ifShow方法被执行了两次。换成v-show,ifShow就只执行一次

    2025-12-01 11:02

要回复问题请先登录注册