在组件中使用Wxml2Canvas时,可能会出现无法获取DOM元素导致图片生成失败的问题。这可能是由于组件内部的bug引起的。
问题根源在于初始化时配置参数的赋值方式:
this.object = options.obj;
this.obj = options.obj; // 解决方案
但在插件在获取wxml时判断条件使用的是this.obj:
if(this.obj) {
query = wx.createSelectorQuery().in(this.obj);
} else {
query = wx.createSelectorQuery();
}
解决方案:可以在constructor中同步为this.obj赋值:
constructor (options = {}) {
this.device = wx.getSystemInfoSync && wx.getSystemInfoSync() || {};
if (!options.zoom) {
this.zoom = this.device.windowWidth / 375;
} else {
this.zoom = options.zoom || 1;
}
...
this.element = options.element;
this.object = options.obj;
this.obj = options.obj;
...
this._init();
}
1889



被折叠的 条评论
为什么被折叠?



