这么复杂的功能当然是使用插件啦,两步走战略:
- 安装
npm i vue-pdf
- 使用
<template> <div> <pdf v-for="i in numPages" :key="i" :src="src" :page="i" style="display: inline-block; width: 25%" ></pdf> </div> </template> <script> import pdf from 'vue-pdf' export default { components: { pdf }, data() { return { src: loadingTask, numPages: undefined, } }, mounted() { this.getList() }, methods: { async getList() { const res = await '你的封装接口'() if (res.status === 200 && res.data) { this.src = Pdf.createLoadingTask(`你的文件服务器地址/${'后端返回的文件名'}.pdf`) this.src.promise .then(Pdf => { this.numPages = Pdf.numPages }) .catch(err => { console.log(err) }) } },