一个帅小伙
一个帅小伙
  • 发布:2025-08-14 15:06
  • 更新:2025-08-14 15:08
  • 阅读:11

【报Bug】<UserComponent :xxx="fn()" /> 导致递归调用 fn

分类:uni-app

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

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 21H2

HBuilderX类型: 正式

HBuilderX版本号: 4.66

第三方开发者工具版本号: 1.06.2503300

基础库版本号: 3.8.11

项目创建方式: HBuilderX

示例代码:
<UserComponent :xxx="fn()">  
  <view>{{data.aaa}}</view>  
</UserComponent>  
<script setup>  
import { computed, inject, onMounted, reactive, ref } from 'vue'  
const data = ref({})  

function RUN(num){  
    return new Promise((resolve,reject)=>{  
        setTimeout(()=>{  
            console.log(1);  
            resolve(1);  
        },1000)  
    })  
}  

function fn(){  
  // 不使用 RUN  触发最大递归更新次数 错误  
  // 避免无限调用方式 :xxx="fn()"          fn() 改为 fn 或 ()=>fn()  
  // 不更新数据 / 更新的数据 不绑定在 html 中  
  RUN().then(reg=>{  
    data.value = {aaa:111}  
  })  
}  
</script>

操作步骤:

...

预期结果:

渲染完成后调用一次

实际结果:

递归调用

bug描述:

组件绑定带参数方法 且方法更新了绑定数据 数据绑定在视图中 会触发 递归调用

2025-08-14 15:06 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

hx升级到最新版本试试还有没有这个问题

要回复问题请先登录注册