<UserComponent :xxx="fn()" /> 导致 uni-app 递归调用 fn
<UserComponent :xxx="fn()" /> 导致 uni-app 递归调用 fn
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 21H2 | HBuilderX |
产品分类:uniapp/小程序/微信
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:21H2
HBuilderX类型:正式
HBuilderX版本号:4.66
第三方开发者工具版本号:1.06.2503300
基础库版本号:3.8.11
项目创建方式:HBuilderX
### 示例代码:
```javascript
<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描述:
组件绑定带参数方法 且方法更新了绑定数据 数据绑定在视图中 会触发 递归调用
更多关于<UserComponent :xxx="fn()" /> 导致 uni-app 递归调用 fn的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
hx升级到最新版本试试还有没有这个问题
更多关于<UserComponent :xxx="fn()" /> 导致 uni-app 递归调用 fn的实战教程也可以访问 https://www.itying.com/category-93-b0.html


