问题解析:
var query = wx.createSelectorQuery();
query.select('.wrap').boundingClientRect(function (qry) {
var h = qry.height;//此处提示错误:不能获取null的height
}).exec();
解决方案:
延时获取就可以了。
代码演示:
//数据库获取标记数据
util.dbOPerateFn('Pub/mark','','get',function(res){
// var res =this.data.projects;
if(res.length){
var query = wx.createSelectorQuery();
setTimeout(function(){
query.select('.wrap').boundingClientRect(function (qry) {
var h = qry.height;//此处可以成功获取到数据
}).exec();
},1000)
}
})
解决原理:
因为query.select('.wrap').boundingClientRect();
是一个异步返回的,所以要延时获取。
总结:
网上的解答实在让我感到头大,说出了原理,没有代码演示,让我不知从何下手,自己琢磨着还真给弄出来了,再次把解决方案放上来,给自己一个提醒,也给需要的人能更好的解决提供帮助。