bug描述
开发uniapp页面时出现bug
解决过程
先是去查了 TypeError: Cannot read properties of undefined (reading 'matches') 的相关解决办法,提到的都是说router配置时大小写错误的问题,检查了下代码和我遇到的问题不一致。
重新查了下第一个报错 Error in event handler for "service.requestComponentInfo" ,发现是用到了uni.createSelectorQuery(),代码中将其放在了created中,放入onLoad后代码运行正常。
原因
使用 uni.createSelectorQuery() 需要在生命周期 mounted 后进行调用。
如果在onLoad或者其他小程序生命周期中调用最好加上一个延时器防止在元素未完全渲染时调用,获取信息不准确。