vue项目最开始使用的是qrcode1.5de 版本, 在Kylin+firefox43(浏览器版本比较低)的环境中报错,
vue-router: failed to resolve async component default:syntaxerror missing;after for-loop initializer
底下有qrcode的依赖包路径,猜测可能是qrcode版本导致的报错。尝试降低版本,使用了1.0.0版本
npm i -S qrcode@1.0.0
引入: import QrCode from “qrcode”
let content = "www.baidu.com"
this.$nextTick(() => {
let canvasDom = this.$refs.canvas;// 我的canvas元素在对话框中, 所以写在了$nextTick中
// QrCode.toCanvas(canvasDom, content, { height: 'auto' });//v1.5
// 以下为1.0版本使用的方法。
QrCode.toDataURL(content, { errorCorrectionLevel: 'L', margin: 2, width: 128 }, (err, url) => {
if (err) throw err
console.log(url);
var cxt1 = canvasDom.getContext("2d");
var img = new Image();
img.src = url;
img.onload = function () {
console.log(img.width);
canvasDom.width = img.width;
canvasDom.height = img.height;
cxt1.drawImage(img, 0, 0, img.width, img.height);
}
});
});