这个问题是节点还没创建渲染完就读取节点,这个时候应该先让节点渲染完成在生成,解决方法有以下两种

1、使用$nextTick()方法进行,这个方法是用来在节点创建渲染完成后进行的操作

      that.$nextTick(() => {
        let qrcode = new QRCode("qrcode", {
          width: 132,
          height: 132,
          text: "https://www.baidu.com/", // 二维码地址
          colorDark: "#000",
          colorLight: "#fff",
        });
      });

 2、使用延时方法

      setTimeout(function () {
        new QRCode("qrcode", {
          width: 132,
          height: 132,
          text: "https://www.baidu.com/", // 二维码地址
          colorDark: "#000",
          colorLight: "#fff",
        });
      }, 200);

相比之下还是第一种比较好,延时不能精确

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐