微信小程序--queryselector获取不到节点信息解决方案

问题解析:

      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();是一个异步返回的,所以要延时获取。
总结:
网上的解答实在让我感到头大,说出了原理,没有代码演示,让我不知从何下手,自己琢磨着还真给弄出来了,再次把解决方案放上来,给自己一个提醒,也给需要的人能更好的解决提供帮助。

你可能感兴趣的:(微信小程序--queryselector获取不到节点信息解决方案)