1. 程式人生 > >VUE實現列印功能的兩種方法

VUE實現列印功能的兩種方法

第一種方法:通過npm 安裝外掛

 

1,安裝  npm install vue-print-nb --save

2,引入  安裝好以後在main.js檔案中引入 

 

         import Print from 'vue-print-nb'

    Vue.use(Print);  //註冊

 

3,現在就可以使用了

    <div id="printTest" >

      <p>鋤禾日當午</p>

      <p>汗滴禾下土 </p>

      <p>誰知盤中餐</p>

      <p>粒粒皆辛苦</p>

    </div>

    <button v-print="'#printTest'">列印</button>

如果內容列印不全,在列印操作時點選更多設定,然後設定縮放

 

 

 

第二種方法:手動下載外掛到本地

 

外掛地址:https://github.com/xyl66/vuePlugs_printjs

 

在src下新建資料夾plugs,將下載好的print.js放入plugs資料夾下,然後操作如下

import Print from '@/plugs/print'
Vue.use(Print) // 註冊


<template>
<section ref="print">
    列印內容
    <div class="no-print">不要列印我</div>
</section>
</template>
this.$print(this.$refs.print) // 使用


注意事項 需使用ref獲取dom節點,若直接通過id或class獲取則webpack打包部署後列印內容為空 

指定不列印區域

 方法1. 新增no-print樣式類

<div class="no-print">不要列印我</div>


方法2. 自定義類名

<div class="do-not-print-me-xxx">不要列印我</div>
this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // 使用
提示,github上有一個錯誤如下,避免踩坑,($ref 會報錯,print undefind ;  改為 $refs 就好了)