解决办法:
在自定义组件内获取必须用SelectorQuery.in()
Component({
lifetimes: {
ready() {
const query = wx.createSelectorQuery().in(this)
const num = Math.ceil(this.data.picList.length / LINE_LENGTH)
query.select('.tab-content-item').boundingClientRect((rect) => {
this.setData({
swiperHeight: rect.height * num + 'rpx'
})
}).exec()
}
},
})
const query = wx.createSelectorQuery().in(this)
这一句是最重要的,要用.in(this),this传入的是自定义组件的实例。
否则获取到的rect值为null
如果你的canvas不是在页面中,而是在自定义组件中的话,一个可能的原因是:
wx.createCanvasContext只传一个参数是不够的,需要再传入第二个参数this,如下:
var context = wx.createCanvasContext(mycanvasid,this)
https://johnsmith9th.iteye.com/blog/2434235
https://segmentfault.com/a/1190000019548718?utm_source=tag-newest