安装
通过NPM安装
npm install vue-qart --save
插件应用
将vue-qart引入你的应用
import VueQArt from 'vue-qart'

new Vue({
components: {VueQArt}
})
在你的应用中这样使用vue-qart
<vue-q-art :config="config" :downloadButton="downloadButton"></vue-q-art>
data () {
return {
msg: 'Welcome to Your Vue.js App',
config: {
value: 'https://www.baidu.com',
imagePath: './examples/assets/logo.png',
filter: 'color'
},
downloadButton: false
}
}
组件参数
名称 类型 默认值 说明
value String - QR code表示的数据
imagePath String - 合并图片的路径
filter String threshold 定义一个图像过滤器,threshold或者color
size Number 195 定义图像的大小,单位是px
version Number 10 QR code版本 (1 <= version <= 40)
background String - 生成背景色
fillType String scale_to_fit 图片放置类型(fill 或者 scale to fit)

动态生成二维码

cnpm install --save qrcodejs2

<template>
<div>
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
prop="id"
label="id"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
<el-table-column
fixed="right"
label="二维码"
width="100">
<template slot-scope="scope">
<el-button @click="checkEwmClick(scope.row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
title="二维码"
:visible.sync="dialogQrcodeVisible"
width="30%"
:before-close="handleDialogQrcodeClose">
<div style="text-align:center; margin-left:auto; margin-right:auto;">
<div id="qrcodeshow" ref="qrCodeUrl"></div> <!-- 创建一个div,并设置id为qrcode -->
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogQrcodeVisible = false">关闭</el-button>
</span>
</el-dialog>
</div>
</template> <script>
import QRCode from 'qrcodejs2'// 引入qrcode
export default {
name: 'test',
mounted () {
// 需要先显示出来,然后再隐藏掉; 否则动态生成的二维码,第一次会报错,对象找不到。可能是跟初始化有关系,没有显示出来的时候并没有初始化HTML
this.dialogQrcodeVisible = false
},
data () {
return {
dialogQrcodeVisible: true,
tableData: [{
id: '1',
name: '百度',
address: '上海市普陀区金沙江路 1518 弄',
url: 'http://www.baidu.com'
}, {
id: '2',
name: 'QQ',
address: '上海市普陀区金沙江路 1517 弄',
url: 'http://www.qq.com'
}, {
id: '3',
name: '163.COM',
address: '上海市普陀区金沙江路 1519 弄',
url: 'http://www.163.com'
}, {
id: '4',
name: '淘宝',
address: '上海市普陀区金沙江路 1516 弄',
url: 'http://www.taobao.com'
}]
}
},
methods: {
checkEwmClick (url) {
let vm = this
vm.$nextTick(() => {
vm.dialogQrcodeVisible = true
let obj = document.getElementById('qrcodeshow')
obj.innerHTML = ''
vm.genarateQrcode(url)
})
},
handleDialogQrcodeClose () {
this.dialogQrcodeVisible = false
},
genarateQrcode (url) {
let qrcode = new QRCode(this.$refs.qrCodeUrl, {
width: 50,
height: 50,
text: url, // 二维码地址
colorDark: '#000',
colorLight: '#fff',
correctLevel: QRCode.CorrectLevel.H
})
console.log('qrcode = ' + JSON.stringify(qrcode))
}
}
}
</script>

  

vue.js 二维码生成组件的更多相关文章

  1. js 二维码生成 插件

    <div onclick="liaotian()">点击生成二维码</div><div id="qrcode"></d ...

  2. 二维码生成插件qrious及网站扫码登录的一些理解

    什么是二维码 ​ 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型. ...

  3. 二维码生成插件qrious

    1.qrious是基于canvas的纯JS二维码生成插件 1.1什么是二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的B ...

  4. 你不可错过的二维码生成与解析-java后台与前端js都有

    1.二维码分类   二维条码也有许多不同的码制,就码制的编码原理而言,通常分为三种类型. 线性堆叠式二维码 编码原理: 建立在一维条码基础之上,按需要堆积成两行或多行. 图示: 矩阵式二维码 最常用编 ...

  5. JavaScript二维码生成——qrcode.js

    在开发中,有时候,我们需要根据不同的内容来动态生成二维码,则可以使用qrcode.js这个小插件来实现. 1.qrcode.js文件内容: (1)未压缩(qrcode.js): /** * @file ...

  6. 网站开发进阶(十四)JS实现二维码生成

    JS实现二维码生成 绪 项目开发原语:已然花费半天的时间,仍旧未能将二维码显示在订单中.但是可以在单个页面中显示二维码,结合到angularjs的控制器中就失效了,自己是真的找不到其中的原因了.费解! ...

  7. 二维码生成:使用 JavaScript 库QRCode.js生成二维码

    QRCode.js:跨浏览器的javascript二维码生成库,支持html5的Canvas画布,没有任何依赖. Github 地址:https://github.com/davidshimjs/qr ...

  8. 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)

    在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...

  9. DotNet二维码操作组件ThoughtWorks.QRCode

    DotNet二维码操作组件ThoughtWorks.QRCode 在生活中有一种东西几乎已经快要成为我们的另一个电子"身份证",那就是二维码.无论是在软件开发的过程中,还是在普通用 ...

随机推荐

  1. WORLD 文件选择的操作方法

    1,按住鼠标左键拖动选择文本. 2,双击鼠标可选中光标前面一个字,如果光标左右两边是一个词,那么就会选中整个词. 3,三击-----整段. 4,光标(鼠标)移至文本左边(外面),变成向右倾斜的光标箭头 ...

  2. blfs(systemd版本)学习笔记-构建gnome桌面系统后的配置及安装的应用

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.构建安装ibus-libpinyin的笔记地址:https://www.cnblogs.com/renren-study-n ...

  3. [HTML/CSS]下拉菜单

    原理:先让下拉菜单隐藏,鼠标移到的时候在显示出来 1>display 无动画效果,图片是秒出 2>opacity 有动画效果,我这里是1S出现,推荐配合绝对定位使用

  4. 纯CSS+HTML实现checkbox的思路与实例

    checkbox应该是一个比较常用的html功能了,不过浏览器自带的checkbox往往样式不怎么好看,而且不同浏览器效果也不一样.出于美化和统一视觉效果的需求,checkbox的自定义就被提出来了. ...

  5. Android为TV端助力 同时setTag两次,保存多种值

    示例代码: view.setTag(R.string.action_settings,hodler.content); 接收两个值,一个是key值,必须是唯一值,而且要写在values/ids.xml ...

  6. Android深入四大组件(九)Content Provider的启动过程

    前言 Content Provider做为四大组件之一,通常情况下并没有其他的组件使用频繁,但这不能作为我们不去深入学习它的理由.关于Content Provider一篇文章是写不完的,这一篇文章先来 ...

  7. 整理一些.net core中的错误代码

    在hosting .net core时,有些错误代码并不容易理解. 作为标记,方便查询,这些错误代码可能不会出现在VS的错误查找工具里,也不会出现在错误代码转字符描述的函数里. COR_E_AMBIG ...

  8. linux(centos)无中文输入,如何解决

    1.终端执行安装命令 yum install "@Chinese Support" 2.如下图,多出Input method 3.点击进行配置 4.reboot重启系统,新建一个文 ...

  9. Redis常用命令【列表】

    一.简介 基于Linked List实现,元素是字符串类型,列表头尾增删快,中间增删慢,增删元素是常态. 元素可以重复出现,最多包含2^32-1个元素. 二.命令 1.说明 1.1 B block 块 ...

  10. ${pageContext.request.contextPath}相关问题总结

    (1)采用绝对路径,但为了解决不同部署方式的差别,在所有非struts标签的路径前加${pageContext.request.contextPath},如原路径为:”/images/title.gi ...