<template>
<view>
<button size="mini" @click="fn1">按钮1</button>
<button size="mini" @click="fn2">按钮2</button>
<view v-for="(item, index) in list" :key="index">{{ item }}</view>
{{ num }}
</view>
</template>
<script>
export default {
data() {
return {
list: ['aaa'],
num: 111
};
},
methods: {
fn1() {
console.log('fn1_start');
this.list = ['aaa'];
this.$nextTick(() => {
console.log('fn1_end');
});
},
fn2() {
console.log('fn2_start');
this.num = 111;
this.$nextTick(() => {
console.log('fn2_end');
});
}
}
};
</script>
<style scoped lang="scss"></style>

- 发布:2025-03-11 16:42
- 更新:2025-04-04 08:07
- 阅读:139
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10企业版1903(18362.30)
HBuilderX类型: 正式
HBuilderX版本号: 4.45
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: 联想拯救者y70(Lenovo L71091)
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击按钮1后fn1函数执行, 控制台只打印 fn1_start $nextTick里回调没有执行 fn1_end 未打印
在修改data里的数组类型数据时,当新数据与老数据一致时$nextTick回调不执行,原始类型数据是正常的
点击按钮1后fn1函数执行, 控制台只打印 fn1_start $nextTick里回调没有执行 fn1_end 未打印
在修改data里的数组类型数据时,当新数据与老数据一致时$nextTick回调不执行,原始类型数据是正常的
预期结果:
点击按钮1后fn1函数执行, 控制台打印 fn1_start 再执行 $nextTick 回调函数 fn1_end 打印出来
点击按钮1后fn1函数执行, 控制台打印 fn1_start 再执行 $nextTick 回调函数 fn1_end 打印出来
实际结果:
$nextTick里回调没有执行 fn1_end 未打印
$nextTick里回调没有执行 fn1_end 未打印
bug描述:
安卓app环境下this.$nextTick回调不执行
2 个回复
最佳回复
DCloud
HBuilderX 4.61.2025040322-alpha 已修复。
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
感谢反馈,复现了此问题。
vue2+app 会出现此问题,遗漏了数据无变化时候执行回调的逻辑。下个 alpha 会修复此问题。