最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中使用vue-pdf組件實(shí)現(xiàn)文件預(yù)覽及相應(yīng)報(bào)錯(cuò)解決

 更新時(shí)間:2022年09月03日 14:05:19   作者:小任睡不醒`  
在需求中,經(jīng)常遇見pdf的在線預(yù)覽效果,很多pdf插件不支持vue3,或者是沒有集成翻頁放大縮小功能,比如vue-pdf,下面這篇文章主要給大家介紹了關(guān)于vue中使用vue-pdf組件實(shí)現(xiàn)文件預(yù)覽及相應(yīng)報(bào)錯(cuò)解決的相關(guān)資料,需要的朋友可以參考下

前言

使用vue-pdf組件實(shí)現(xiàn)文件預(yù)覽功能 并在文件上增加操作按鈕vue3不支持vue-pdf,vue3項(xiàng)目用pdfjs-dist

一、安裝npm 依賴

1、在根目錄下輸入一下命令

npm i pdfjs-dist@2.5.207 --save
npm i vue-pdf@4.2.0 --save

2、修改pacakge.json文件 

"dependencies": {
  "pdfjs-dist": "2.5.207",
  "vue-pdf": "4.2.0",
  },

二、引入組件

import pdf from 'vue-pdf'
 
export default {
  name: 'App',
  components: {
    pdf
  },
  ···
}

1、html中使用組件 單頁

<pdf :src="file"></pdf>

多頁 

<pdf v-for="i in pageNum" :key="i" :src="file" :page="i"></pdf>

2、數(shù)據(jù)處理 單頁

export default {
  ···
  data () {
    return {
        file: "/pdf/test.pdf"
    }
  }
}

多頁 

export default {
  ···
  data () {
    return {
      file: "/pdf/test.pdf",
      pageNum: 1
    }
  },
  methods: {
    getPageNum () {
      let loadingTask = pdf.createLoadingTask(this.file)
      loadingTask.promise.then(pdf => {
        this.pageNum = pdf.numPages
      }).catch(err => {
        console.error('pdf加載失敗', err);
      })
    }
  },
  mounted () {
    this.getPageNum()
  }
}

三、項(xiàng)目使用--代碼部分

<template>
  <div class="pdf_wrap">
    <pdf class="pdfView" v-for="item in pageNum" :key="item" :src="pdfUrl" :page="item"></pdf>
    <div class="btnCont">
      <div class="savebtn"
           @click="sign">確認(rèn)</div>
    </div>
    </div>
</template>
 
<script>
import pdf from 'vue-pdf'
import { protocolGet } from "../../../api/validation/shareagreement";//調(diào)用的接口
export default {
  components: {
      pdf
  },
  props: {},
  data() {
    return {
      title: this.$route.meta?.title || '',
      pdfUrl:'',
      pageNum: 1
    }
  },
  watch: {},
  computed: {},
  methods: {
    getprotocolGet(){
      protocolGet().then((res)=>{
        if(res.code==200){
          this.pdfUrl= res.data.contractUrl//獲取到的協(xié)議展示
          this.getPageNum();//pdf分頁處理
        }
      })
    },
     getPageNum () {
      let loadingTask = pdf.createLoadingTask(this.pdfUrl,{withCredentials: false})
      loadingTask.promise.then(pdf => {
        this.pageNum = pdf.numPages
      }).catch(err => {
        console.error('pdf加載失敗', err);
      })
    },
    sign() {
      this.$router.push({
        path: '/xxx',
      })
    },
  },
  created() {
   this.getprotocolGet()
  },
  mounted() {
    
  },
}
</script>
<style>
.pdf_wrap{
  height: 100%;
  padding-bottom: 1.4rem;
  background-color: #fff;
}
</style>
<style  scoped>
.pdf_wrap .btnCont {
  position: fixed;
  bottom: 0rem;
  left: 0;
  background-color: #fff;
  padding: 0.1rem 0 .40rem 0;
  width: 100%;
  border: 0;
  text-align: center;
  
}
.pdf_wrap .btnCont .savebtn{
  color: #fff;
  display: inline-block;
  height: 0.8rem;
  line-height: 0.8rem;
  border-radius: 0.4rem;
  width: 6.9rem;
  margin: auto;
  font-size: 0.28rem;
  background-color: #ff0b95;
}
</style>

四、報(bào)錯(cuò)解決

1、這種情況就是跨域了找后臺(tái)解決一下即可

2、 這種情況是pdf還沒加載出來就去渲染導(dǎo)致頁面pageNum找不到,調(diào)用接口加載完成后再去渲染pageNum

3、報(bào)這個(gè)錯(cuò)誤加上  {withCredentials: false} ,報(bào)錯(cuò)就沒有了

補(bǔ)充:vue使用vue-pdf預(yù)覽開發(fā)正常,打包報(bào)錯(cuò)work.js404

修改依賴文件node_modules下worker-loader里的index.js文件里路徑
代碼如下(示例):

 const filename = _loaderUtils2.default.interpolateName(this, options.name || 'static/js/[hash].worker.js', {
    context: options.context || this.rootContext || this.options.context,
    regExp: options.regExp
  });

總結(jié)

到此這篇關(guān)于vue中使用vue-pdf組件實(shí)現(xiàn)文件預(yù)覽及相應(yīng)報(bào)錯(cuò)解決的文章就介紹到這了,更多相關(guān)vue vue-pdf實(shí)現(xiàn)文件預(yù)覽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解vue-cli3使用

    詳解vue-cli3使用

    這篇文章主要介紹了詳解vue/cli 3使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 解決vite打包后白屏之router-view不生效問題

    解決vite打包后白屏之router-view不生效問題

    這篇文章主要介紹了解決vite打包后白屏之router-view不生效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue.js template模板的使用(仿餓了么布局)

    vue.js template模板的使用(仿餓了么布局)

    這篇文章主要介紹了vue.js template模板的使用,主要是模仿餓了么布局,用到了4個(gè)組件,分別是header.vue,goods.vue,ratings.vue,seller.vue,感興趣的朋友跟隨腳本之家小編一起看看實(shí)現(xiàn)代碼
    2018-08-08
  • vue如何在引入的el-tree前添加圖標(biāo)

    vue如何在引入的el-tree前添加圖標(biāo)

    這篇文章主要介紹了vue如何在引入的el-tree前添加圖標(biāo)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue?底部footer導(dǎo)航組件問題

    vue?底部footer導(dǎo)航組件問題

    這篇文章主要介紹了vue?底部footer導(dǎo)航組件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 基于Vue3自定義實(shí)現(xiàn)圖片翻轉(zhuǎn)預(yù)覽功能

    基于Vue3自定義實(shí)現(xiàn)圖片翻轉(zhuǎn)預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了如何基于Vue3自定義實(shí)現(xiàn)簡(jiǎn)單的圖片翻轉(zhuǎn)預(yù)覽功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,有需要的小伙伴可以參考一下
    2023-10-10
  • vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)

    vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)

    最近工作上需要在el-dialog基礎(chǔ)上進(jìn)行些功能的改動(dòng),下面這篇文章主要給大家介紹了關(guān)于vue/Element?UI實(shí)現(xiàn)Element?UI?el-dialog自由拖動(dòng)功能實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Vue-cli中為單獨(dú)頁面設(shè)置背景色的實(shí)現(xiàn)方法

    Vue-cli中為單獨(dú)頁面設(shè)置背景色的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇Vue-cli中為單獨(dú)頁面設(shè)置背景色的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法介紹

    el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法介紹

    ElementUI中el-table設(shè)置指定列固定不動(dòng),不受滾動(dòng)條影響,下面這篇文章主要給大家介紹了關(guān)于el-table?fixed固定列導(dǎo)致錯(cuò)位的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 前端vue實(shí)現(xiàn)的h5頁面接入微信支付流程(jsapi方式)

    前端vue實(shí)現(xiàn)的h5頁面接入微信支付流程(jsapi方式)

    vue實(shí)現(xiàn)微信支付有三種方式,第一種方式是PC端支付,第二種方式是H5支付,第三種方式是微信公眾號(hào)支付,這篇文章主要給大家介紹了關(guān)于前端vue實(shí)現(xiàn)的h5頁面接入微信支付流程,文中介紹的方法是利用jsapi方式,通過代碼將實(shí)現(xiàn)的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評(píng)論

封开县| 林周县| 银川市| 耒阳市| 大名县| 凤冈县| 中方县| 柘荣县| 沂水县| 正蓝旗| 天等县| 商水县| 盘山县| 博湖县| 萨嘎县| 来宾市| 章丘市| 中山市| 陵水| 临颍县| 新营市| 岫岩| 韶关市| 井陉县| 肃南| 体育| 永济市| 浙江省| 平顶山市| 鸡东县| 阜宁县| 广丰县| 昌乐县| 宁晋县| 综艺| 项城市| 凉城县| 理塘县| 临安市| 蓬溪县| 馆陶县|