VorwortIn den meisten Projekten werden Sie auf eine Online-Vorschau von PDF-Dateien stoßen. Das Projekt verwendet Element UI und wird mit vue-pdf implementiert. Abhängigkeiten installierennpm install --save vue-pdf Verwandte ParameterParametereinführung:
erreichen<Vorlage> <div> <el-Zeile> <el-button @click="onPreview" size="small">Vorschau</el-button> </el-row> <el-dialog title="Vertragsanhang Vorschau anzeigen" :visible.sync="viewVisible" center width="60%" @close='closePreview'> <el-row :gutter="20"> <span>Insgesamt {{pageCount}} Seiten, aktuelle Seite {{pdfPage}}</span> <el-button type="text" size="mini" @click.stop="previousPage">Vorherige Seite</el-button> <el-button type="text" size="mini" @click.stop="nextPage">Nächste Seite</el-button> </el-row> <div> <pdf :src="src" :page="pdfPage" @num-pages="Seitenanzahl = $event" @page-loaded="pdfPage = $event" style="Anzeige: Inline-Block; Breite: 100 %"></pdf> </div> </el-dialog> </div> </Vorlage> <Skript> PDF aus „vue-pdf“ importieren Store aus '@/store/' importieren Standard exportieren { Komponenten: { pdf }, Daten(){ zurückkehren { viewVisible: false, quelle: null, pdfSeite: 1, Seitenanzahl: 0, Token: store.getters.access_token, } }, Methoden:{ beiVorschau(){ diese.src = pdf.createLoadingTask({ URL: „http://localhost:8082/file/demo.pdf“, httpHeaders: {Authorization:'Bearer '+ dieses.token} }); dies.src.promise.then(pdf => { Dies.viewVisible = true; }); }, Vorschau schließen(){ diese.pdfSeite = 1; }, vorherigeSeite(){ let p = diese.pdfSeite p = p > 1 ? p-1 : diese.Seitenanzahl diese.pdfSeite = p }, nächsteSeite(){ let p = diese.pdfSeite p = p < diese.Seitenanzahl ? p+1 : 1 diese.pdfSeite = p } } } </Skript> WirkungNotiz1. URL URL ist der Dateiadressenpfad diese.src = pdf.createLoadingTask({ URL: „http://localhost:8082/file/demo.pdf“, }); 2. Setzen Sie den Anforderungsheader Sie können Parameter wie Token über httpHeaders festlegen httpHeaders: {Authorization:'Bearer '+ dieses.token} 3. Quelle Das ist wichtiger. Viele Beiträge im Internet lauten wie dieser. dies.src.then(pdf => { Dies.viewVisible = true; }) Meldet TypeError: this.src.then ist keine Funktion TypeError: this.src.then ist keine Funktion bei VueComponent.onPreview (index.vue?6ced:241) beim Klicken (index.vue?aaff:261) bei invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) bei VueComponent.invoker (vue.runtime.esm.js?2b0e:2179) bei invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) bei VueComponent.Vue.$emit (vue.runtime.esm.js?2b0e:3888) bei VueComponent.handleClick (element-ui.common.js?5c96:9413) bei invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) bei HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179) bei HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917) Die richtige Antwort ist diese dies.src.promise.then(pdf => { Dies.viewVisible = true; }); Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: So lesen Sie die regionalen Informationen einer IP mithilfe des Nginx- und GeoIP-Moduls
>>: MySQL Community Server 5.6 Installations- und Konfigurations-Tutorial unter Windows 8
1. Grund Ich musste MySQL nur auf einem neuen Sys...
Perfekte Lösung für den schwarzen VMware-Bildschi...
1. Überprüfen Sie die Zeitzone der Datenbank Vari...
In diesem Artikel wird der spezifische JavaScript...
IP-Masquerading und Port-Weiterleitung Firewalld ...
Inhaltsverzeichnis 1. Einführung in jQuery 2. jQu...
Ich habe vor Kurzem jemandem bei einem Projekt ge...
Installieren Befolgen Sie zur Installation die RE...
Inhaltsverzeichnis 1. Schloss und Riegel 2. Wiede...
1. Installieren Sie Oracle. Im Internet gibt es z...
Ubuntu 20.04 wurde im April 2020 offiziell veröff...
Umweltanforderungen: IP Hostname 192.168.1.1 Knot...
In diesem Artikelbeispiel wird der spezifische Co...
Verwenden Sie CSS, um den Stil der Bildlaufleiste...
In diesem Artikel wird der spezifische Code von V...