使用qrcodejs2 生成微信支付二维码,后端向前端传递了微信二维码url,通过此方法生成渲染二维码图片
qrcode (url) { // 前端根据 URL 生成微信支付二维码
console.log("调用二维码生成")
//先清除,后增加
document.getElementById("qrcodeImg").innerHTML = "";
return new QRCode('qrcodeImg', {
width: 320,
height: 360,
text: url,
colorDark: '#000',
colorLight: '#fff'
});
},
但是首次加载二维码不显示,类似于这样
搜索过后发现可能是虚拟dom加载顺序的问题,所以应该等二维码处理完成后再渲染图像,所以将代码改造为这样
Promise.resolve().then(() => {
this.qrcode(res.data.linkUrl);
});
这样当前事件循环中等待其他异步操作完成后再生成二维码