当前位置:首页 > VUE

vue实现生成二维码

2026-01-07 06:49:58VUE

使用qrcode.vue库生成二维码

安装qrcode.vue库:

npm install qrcode.vue --save

在Vue组件中使用:

<template>
  <qrcode-vue :value="qrValue" :size="size" level="H" />
</template>

<script>
import QrcodeVue from 'qrcode.vue'

export default {
  components: { QrcodeVue },
  data() {
    return {
      qrValue: 'https://example.com',
      size: 200
    }
  }
}
</script>

使用vue-qrcode库生成二维码

安装vue-qrcode库:

npm install @chenfengyuan/vue-qrcode --save

在Vue组件中使用:

<template>
  <vue-qrcode :value="qrValue" :options="{ width: 200 }" />
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode'

export default {
  components: { VueQrcode },
  data() {
    return {
      qrValue: 'https://example.com'
    }
  }
}
</script>

使用原生QRCode.js生成二维码

安装QRCode.js:

npm install qrcode --save

在Vue组件中使用:

<template>
  <div ref="qrCode"></div>
</template>

<script>
import QRCode from 'qrcode'

export default {
  data() {
    return {
      qrValue: 'https://example.com'
    }
  },
  mounted() {
    QRCode.toCanvas(this.$refs.qrCode, this.qrValue, {
      width: 200
    }, (error) => {
      if (error) console.error(error)
    })
  }
}
</script>

自定义二维码样式

通过QRCode.js可以自定义二维码样式:

QRCode.toCanvas(this.$refs.qrCode, {
  text: this.qrValue,
  colorDark: '#000000',
  colorLight: '#ffffff',
  correctLevel: QRCode.CorrectLevel.H
}, (error) => {
  if (error) console.error(error)
})

生成可下载的二维码

生成可下载的二维码图片:

methods: {
  downloadQR() {
    QRCode.toDataURL(this.qrValue, {
      width: 400,
      margin: 2
    }, (err, url) => {
      if (err) return console.error(err)
      const link = document.createElement('a')
      link.href = url
      link.download = 'qrcode.png'
      link.click()
    })
  }
}

响应式二维码尺寸

根据屏幕宽度自动调整二维码大小:

vue实现生成二维码

computed: {
  qrSize() {
    return Math.min(window.innerWidth * 0.8, 400)
  }
},
watch: {
  qrSize(newSize) {
    this.generateQRCode(newSize)
  }
}

标签: 二维码vue
分享给朋友:

相关文章

eventbus vue实现

eventbus vue实现

EventBus 实现原理 EventBus 是一种发布/订阅模式,用于 Vue 组件间的通信。核心是通过一个中央事件总线管理事件监听和触发。 创建 EventBus 在 Vue 项目中创建一个独立…

vue实现点击

vue实现点击

实现点击事件的基本方法 在Vue中实现点击事件可以通过v-on指令或@简写方式绑定。以下是常见的点击事件绑定方法: <template> <button v-on:click=…

vue实现登出

vue实现登出

实现Vue登出功能 登出功能通常涉及清除用户会话、令牌或本地存储的数据,并重定向到登录页面。以下是几种常见的实现方式: 清除用户令牌和状态 在Vuex的store中定义一个logout mutati…

vue实现图片

vue实现图片

Vue 实现图片功能的方法 静态图片引入 在 Vue 项目中,可以通过 src 属性直接引入静态图片。图片通常放在 public 或 assets 目录下。 <template> &…

vue 简单实现

vue 简单实现

以下是 Vue 的简单实现示例,涵盖基础模板、数据绑定、方法及生命周期: 基础模板与数据绑定 <div id="app"> <p>{{ message }}</p&…

自实现vue

自实现vue

实现 Vue 的核心功能 要实现一个简化版的 Vue,需要理解其核心功能:数据响应式、模板编译、虚拟 DOM 和组件系统。以下是关键步骤的分解: 数据响应式 Vue 使用 Object.define…