试试试试
试试试试
  • 发布:2023-08-07 20:42
  • 更新:2025-04-25 17:13
  • 阅读:939

【报Bug】微信小程序使用createSelectorQuery,报错TypeError: Cannot read property '__route__' of undefined

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

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

基础库版本号: 2.33.0

项目创建方式: HBuilderX

操作步骤:

见描述

预期结果:

见描述

实际结果:

见描述

bug描述:

vue3 组合式API

    onMounted(() => {  
        const query = uni.createSelectorQuery().in(this);  
        query.select('#image_bar').boundingClientRect(data => {  
            console.log("data", data);  
        }).exec();  
    })

在H5调试正常,数据能正常获取
在微信小程序中会报错,无法获取数据(见附件)
经过测试,只保留这一句代码就会报错了

const query = uni.createSelectorQuery().in(this);
2023-08-07 20:42 负责人:DCloud_UNI_GSQ 分享
已邀请:
1***@163.com

1***@163.com - 在技术的道路上缓慢前进

const instance = getCurrentInstance()
uni.createSelectorQuery().in(instance)
这样试试呗

DCloud_UNI_Anne

DCloud_UNI_Anne

已加分感谢反馈!

  • 1***@qq.com

    请问怎么样了,修复了吗,我现在正在遇到这个问题

    2023-10-30 16:47

u***@gmail.com

u***@gmail.com

@DCloud_UNI_Anne 有进展没。vue3 setup 没有this导致这个报错该如何解决

s***@aliyun.com

s***@aliyun.com

onMounted(async () => {
let height = uni.getWindowInfo().windowHeight
console.log('屏幕高度=' + height)
//await nextTick()
let instance = getCurrentInstance()
const query = uni.createSelectorQuery().in(instance);
query.select('#refresh_list')
.boundingClientRect((data) => {
console.log('节点信息=', data);
})
.exec();
})
在微信小程序上运行为null
屏幕高度=812
index.esm.js:361 节点信息= null
请教下怎么解决

  • DCloud_UNI_JBB

    把instance改为instance.proxy试试

    2025-04-25 22:17

要回复问题请先登录注册