VUE中的数据转条码插件

VUE中的数据转条码插件

1.npm命令行下载
npm install jsbarcode –save

2.使用

// 引入 jsbarcode
const JsBarcode = require('jsbarcode');
// 使用 可以在VUE中注册全局的插件也可以,不过我推荐单页面引入直接使用因为条码不是很多页面都有。

3.使用时注意事项
使用JsBarcode时我们要绑定需要转换成条码dom节点再在对应的元素节点上添加ID属性来进行绑定,这时问题就来了!使用时机问题如果在vue的生命周期的Created()方法中时使用,但所有元素并未挂载所以会报错!我们需要在mounted()中使用用当节点全部挂载完毕时
如:

mounted() { 
JsBarcode("#barcode", "Hi world!");
}

我们页面会使用v-if来控制组件的显示隐藏,如果我们需要渲染的二维码在v-if中(注:因为v-if在页面刚挂载时节点并不存在所以使用时机不能在生命周期中),指令放在钩子函数中mounted()中也会报错,我们需要在控制显示组件的显示按钮中调用JsBarcode的指令去转换二维码。
最后注意!我们需要异步处理JsBarcode指令 因为数据请求前调用这个是不生效的必须数据先存在再调用你需要自己想办法处理异步 推荐ES6F封装的Promise对象的使用方法,我这里做拉一个递归函数的性质来解决问题。
4.简单例子
!我们主要在VUE中主要用到第3种例子方便遍历元素的条码
((1)你好,世界

 HTML<svg id="barcode"></svg>
    JS:JsBarcode("#barcode", "Hi world!");

结果:
  在这里插入图片描述

(2)示例与选项

HTML<svg id="barcode"></svg>
 JSJsBarcode("#barcode", "1234", {
     format: "pharmacode",
        lineColor: "#0aa",
        width: 4,
        height: 40,
       displayValue: false
   });

结果:
  
    在这里插入图片描述

(3)在HTML元素中定义值和选项:

  HTML<svg class="barcode"
                            jsbarcode-format="CODE128"
                           :jsbarcode-value= obj.id
                            jsbarcode-textmargin="0"
                            jsbarcode-fontoptions="bold">
                      </svg>
      JS:JsBarcode(".barcode").init();
   结果:

在这里插入图片描述
(4)更高级的用例:

HTML<svg id="barcode"></svg>
 JSJsBarcode("#barcode")
      .options({font: "OCR-B"})      // 会影响所有条形码
      .EAN13("1234567890128", {fontSize: 18, textMargin: 0})
      .blank(20)        // 在条形码之间创建空间 
      .EAN5("12345", {height: 85, textPosition: "top", fontSize: 16, marginTop: 15})
      .render();

结果:
在这里插入图片描述

支持的条形码:
• CODE128
o CODE128(自动模式切换)
o CODE128 A / B / C(强制模式)
• EAN
o EAN-13
o EAN-8
o EAN-5
o EAN-2
o UPC(A)
o UPC(E)
• CODE39
• ITF-14
• MSI
o MSI10
o MSI11
o MSI1010
o MSI1110

在这里插入代码片
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值