追梦随想
追梦随想
  • 发布:2025-10-06 18:16
  • 更新:2025-10-06 18:16
  • 阅读:10

【报Bug】Error: Not Found:Page[3][-1,22] at view.umd.min.js:1

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: vivo Y52s

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
return new Promise((resolve, reject) => {  
    setTimeout(() => {  
        console.log('11111111');  

        try {  
            const query = uni.createSelectorQuery().in(this).select(`#${this.grid_id}`);  
            console.log('22222222222222');  
            query.boundingClientRect(data => {  
                console.log('获取元素尺寸');  
                console.log(data);  
                if (data.width) {  
                    resolve(data);  
                } else {  
                    reject();  
                }  
            }).exec();  

            console.log('33333333333333333');  
        } catch (error) {  
            console.error(error);  
        }  

        console.log('44444444444444');  
    }, 100);  
})

操作步骤:

如上所述

预期结果:

获取节点尺寸

实际结果:

无法获取并报错

bug描述:

v-if做登录判断,登录后显示指定内容,但是需要获取节点的尺寸来控制大小,所以使用了uni.createSelectorQuery()来获取节点尺寸,但是总是会报错,并且获取不到真实的尺寸

如果去掉这个v-if判断,那就没有问题,也不会报错,但这不符合逻辑啊。

搜索网上相关资料,用setTimeout解决,完全没有用,报错后也无法捕获,代码执行到query.boundingClientRect里面就停止并报错了

Error: Not Found:Page[3][-1,22] at view.umd.min.js:1
2025-10-06 18:16 负责人:无 分享
已邀请:

要回复问题请先登录注册