vue利用qrcodejs2生成二维码
阅读数:237 评论数:0
跳转到新版页面分类
html/css/js
正文
一、概述
vue有两种生成二维码的方式:qrcode、vue-qr(有icon)
二、qrcode
1、安装和引入
npm install --save qrcodejs2
//所需页面导入
import QRCode from 'qrcodejs2'
2、具体页面
<div class="qrcode" ref="qrCodeUrl"></div>
<script>
import QRCode from 'qrcodejs2'
export default {
data() {
return {
},
methods: {
creatQrCode() {
var qrcode = new QRCode(this.$refs.qrCodeUrl, {
text: 'https://blog.csdn.net/weixin_42601136', // 需要转换为二维码的内容
width: 100,
height: 100,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: QRCode.CorrectLevel.H
})
},
},
mounted() {
this.creatQrCode();
},
};
</script>
3、我们还可以使用以下方法
qrcode.clear(); // 清除代码
qrcode.makeCode("http://www.w3cschool.cc"); // 生成另外一个二维码
4、qrcode参数说明
参数 | 说明 | 默认值 |
text | 需要编码的文字内容 | - |
width | 图像宽度 | 256 |
height | 图像高度 | 256 |
colorDark | 前景色 | #000000 |
colorLight | 背景色 | #ffffff |
correctLevel | 容错级别,可设置为:QRCode.CorrectLevel.L、QRCode.CorrectLevel.M、QRCode.CorrectLevel.Q、QRCode.CorrectLevel.H | QRCode.CorrectLevel.L |
typeNumber | 二维码类型(1~40,输入 0 以自动检测) | 4 |
在dialog弹窗里生成二维码,可以用nextTick()函数,等到DOM更新之后再执行代码。
//this.$nextTick()nextTick(()=>{
document.getElementById("qr").innerHTML = '';
new QRCode('qr', {
text: formData.value.pbid,
width: 50,
height: 50,
colorDark: '#000000', //二维码颜色
colorLight: "#ffffff" //背景颜色
});
});
三、vue-qr
vue-qr可以生成带logo图片的二维码。
1、安装插件
npm install vue-qr --save
2、引用方式
// vue2.0
import VueQr from 'vue-qr'
// vue3.0 (support vite)
import vueQr from 'vue-qr/src/packages/vue-qr.vue'
...
{
components: {VueQr}
}
<el-form style="text-align:center">
<div class="dialog-footer" >{{gameInfo.name}}:{{gameInfo.code}}</div>
<vue-qr
:text='contentValue' //二维码内容
:logoSrc='logoSrc' //logo
:logoScale = 0.2 //logo大小
:margin = 10
></vue-qr>
</el-form>
3、参数
参数 | 说明 |
---|---|
text | 二维码内容 (必需) |
size | 尺寸, 长宽一致, 包含外边距 (必需) |
margin | 二维码图像的外边距, 默认 20px (可选) |
dotScale | 数据区域点缩小比例,默认为0.35 (可选) |
correctLevel | 容错级别 0-3 (可选) |
whiteMargin | 若设为 true, 背景图外将绘制白色边框(默认是true) (可选) |
bindElement | 指定是否需要自动将生成的二维码绑定到HTML上(默认是true) (可选) |
callback | 生成的二维码 Data URI 可以在回调中取得,第一个参数为二维码 data URL, 第二个参数为 props 传过来的 qid(因为二维码生成是异步的,所以加个 id 用于排序) |
颜色 | – |
colorDark | 实点的颜色 (可选) |
colorLight | 空白区的颜色 (可选) |
autoColor | 若为 true, 背景图的主要颜色将作为实点的颜色, 即 colorDark,默认 true // 若设置了 autoColor,则 colorDark 和 colorLight 都将被忽略。 (可选) |
背景图像 | – |
bgSrc | 欲嵌入的背景图地址 (可选) |
gifBgSrc | 欲嵌入的背景图 gif 地址,设置后普通的背景图将失效。设置此选项会影响性能 (可选) |
backgroundColor | 背景色 (可选) |
backgroundDimming | 叠加在背景图上的颜色, 在解码有难度的时有一定帮助 (可选) |
logo图像 | – |
logoSrc | 嵌入至二维码中心的 LOGO 地址 (可选 ) |
logoScale | 用于计算 LOGO 大小的值, 过大将导致解码失败, LOGO 尺寸计算公式,logoScale(size-2margin), 默认 0.2 (可选 ) |
logoMargin | 标识周围的空白边框, 默认为0 (可选 ) |
logoBackgroundColor | 背景色,需要设置 logo margin (可选 ) |
logoCornerRadius | 标识及其边框的圆角半径, 默认为0 (可选) |
后处理 | |
binarize | 若为 true, 图像将被二值化处理, 未指定阈值则使用默认值,默认是false (可选) |
binarizeThreshold | (0 < threshold < 255) 二值化处理的阈值 (可选) |
相关推荐
1、安装依赖
npm install svg-sprite-loader --save-dev
2、配置build文件夹中的webpack.base.conf.js
3、在src/component
在列表渲染时使用key属性
当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用“就地复用”策略,如果数据项的顺序被改变,Vue将不会移动D
一、vue.js devtools开发工具的使用
1、安装
在chrome或firefox浏览器的扩展插件仓库里搜索vue devtool。
2、debugger的使用
假设我们想调试App.vue这
ref被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素,如果用在子组件上,引用就指向组件实例。
<!-- `vm.$
在使用Vue中经常看到HTML中有标签属性前面添加了“:”,有些没有。
其实是v-bind的缩写。
v-bind
缩写: ‘:’
用法:动态绑定一个或多个特性,或一个组件prop到表达式。在绑定cl
一、概述
Vuex是一个专门为Vue.js应用程序开发的全局状态管理功能。它采用集中式存储管理应用的所有组件的状态, 并以相应的规则保证状态以一种可预测的方式发生变化。
每一个Vuex应用的核心就是s