给定一个网址,在页面生成二维码,手机扫码后直接进入此网站。
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:{ width:{ 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', { width: this.width, height: this.height, text: this.url, colorDark: "#000", colorLight: "#fff", }) }, } } </script> <style scoped> #qrcode { display: inline-block; } #qrcode img { width: 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; width: 200px; height: 220px; border: 1px solid #000; } </style>
运行后,使用手机扫一扫就会跳转到百度页面。