vue項(xiàng)目生成二維碼之qrcodejs2

首先第一步當(dāng)然是安裝了:

npm install qrcodejs2 --save,(有淘寶鏡像的可以用cnpm進(jìn)行安裝);

第二步:引入,哪個(gè)頁(yè)面用到,在哪個(gè)頁(yè)面引入

import QRCode from 'qrcodejs2';

然后直接用就可以了,

<template>

<div id="qrcode"></div>

</template>

然后在method寫入方法,一定要記住上面的id名和下面的參數(shù)名保持一致,就是我加粗的部分了

qrcode() {

? ? ? const qrcode = new QRCode('qrcode', {

? ? ? ? text: this.codeValue,

? ? ? ? colorDark: '#000',

? ? ? ? colorLight: '#fff',

? ? ? });

? ? }

最關(guān)鍵的一點(diǎn),一定要在nextTick里面調(diào)用

this.$nextTick(() => {

? ? ? ? ? this.qrcode();

? ? ? ? });

如果你還是報(bào)錯(cuò),報(bào)錯(cuò)還是這樣的Error in nextTick: "TypeError: Cannot read property 'appendChild' of null"

那你就看看?this.qrcode();是在什么時(shí)候調(diào)用的,調(diào)用的時(shí)候dom 節(jié)點(diǎn)生成了嗎??

解決辦法,就是生成dom 節(jié)點(diǎn)之后在調(diào)用

舉個(gè)例子:

這個(gè)是在打開dialog框之后再調(diào)用這個(gè)方法的,用watch監(jiān)聽一下,保證是在打開dialog框之后調(diào)用


watch: {

? ? dialogVisible(val) {

? ? ? if (val) {

? ? ? ? this.$nextTick(() => {

? ? ? ? ? this.qrcode();

? ? ? ? });

? ? ? }

? ? }

? },

小伙伴們你們學(xué)會(huì)了嗎?有問(wèn)題請(qǐng)留言哦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 33、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,258評(píng)論 0 2
  • Vue實(shí)例 Vue實(shí)例創(chuàng)建和作用 -- 1. app.$data -> 所有data的數(shù)據(jù) [obj](app.d...
    胖太_91bf閱讀 3,579評(píng)論 0 3
  • Vue 框架的入口就是 Vue 實(shí)例,其實(shí)就是框架中的 view model ,它包含頁(yè)面中的業(yè)務(wù) 處理邏輯、數(shù)據(jù)...
    云中一樵夫閱讀 1,171評(píng)論 0 1
  • Vue 3.0 性能提升主要是通過(guò)哪幾方面體現(xiàn)的? vue2在初始化的時(shí)候,對(duì)data中的每個(gè)屬性使用define...
    Smallbore閱讀 1,221評(píng)論 0 8
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,070評(píng)論 1 52

友情鏈接更多精彩內(nèi)容