给定一个网址,在页面生成二维码,手机扫码后直接进入此网站。
1)安装全局的插件
npm install qrcodejs2 -S
2)组件封装
在component目录下新建一个vue文件,内容如下
<template>
<div>
<div id="qrcode"></div> <!-- 创建一个div,并设置id为qrcode -->
</div>
</template>
<script>
// 二维码
import QRCode from 'qrcodejs2' // 引入qrcode
export default {
name: 'test',
mounted() {
this.qrcode();
},
props:{
{
type:Number,
default(){
return 132
}
},
height:{
type:Number,
default(){
return 132
}
},
// 二维码地址
url:{
type:String,
default(){
return 'https://www.baidu.com'
}
}
},
methods: {
qrcode() {
let qrcode = new QRCode('qrcode', {
this.width,
height: this.height,
text: this.url,
colorDark: "#000",
colorLight: "#fff",
})
},
}
}
</script>
<style scoped>
#qrcode {
display: inline-block;
}
#qrcode img {
132px;
height: 132px;
background-color: #fff;
padding: 6px;
}
</style>
3)使用组件
<template>
<div>
<div id="printMe">
<div class="code">
<p></p>
<qrcode :url="url"></qrcode>
<p>扫我去百度</p>
</div>
</div>
<button v-print="'#printMe'">打印</button>
</div>
</template>
<script>
import qrcode from '@/components/QrCode'
export default {
data() {
return {
url: 'http://www.baidu.com',
}
},
components: {
qrcode
},
}
</script>
<style scoped>
.code {
margin: 10px;
text-align: center;
200px;
height: 220px;
border: 1px solid #000;
}
</style>
运行后,使用手机扫一扫就会跳转到百度页面。