序文ほとんどのプロジェクトでは、PDF ファイルのオンライン プレビューに遭遇するでしょう。このプロジェクトは、要素 ui を使用し、vue-pdf を使用して実装されています。 依存関係をインストールするnpm インストール --save vue-pdf 関連パラメータパラメータの紹介:
成し遂げる<テンプレート> <div> <el-行> <el-button @click="onPreview" size="small">プレビュー</el-button> </el-row> <el-dialog title="契約書添付ファイルのプレビュー" :visible.sync="viewVisible" center width="60%" @close='closePreview'> <el-row :gutter="20"> <span>合計 {{pageCount}} ページ、現在のページ {{pdfPage}}</span> <el-button type="text" size="mini" @click.stop="previousPage">前のページ</el-button> <el-button type="text" size="mini" @click.stop="nextPage">次のページ</el-button> </el-row> <div> <pdf :src="src" :page="pdfPage" @num-pages="pageCount = $event" @page-loaded="pdfPage = $event" style="display: inline-block; width: 100%"></pdf> </div> </el-ダイアログ> </div> </テンプレート> <スクリプト> 'vue-pdf' から pdf をインポートします '@/store/' からストアをインポートします エクスポートデフォルト{ コンポーネント:{ pdf }, データ(){ 戻る { viewVisible: false、 ソース: null、 pdfページ: 1, ページ数: 0, トークン: store.getters.access_token、 } }, 方法:{ プレビュー(){ this.src = pdf.createLoadingTask({ URL: 'http://localhost:8082/file/demo.pdf', httpHeaders: {Authorization:'Bearer'+ this.token} }); this.src.promise.then(pdf => { this.viewVisible = true; }); }, プレビューを閉じる(){ this.pdfページ = 1; }, 前のページ(){ p = this.pdfページとする p = p > 1 ? p-1 : this.pageCount this.pdfページ = p }, 次のページ(){ p = this.pdfページとする p = p < this.pageCount ? p+1 : 1 this.pdfページ = p } } } </スクリプト> 効果注記1. URL urlはファイルアドレスパスです this.src = pdf.createLoadingTask({ URL: 'http://localhost:8082/file/demo.pdf', }); 2. リクエストヘッダーを設定する httpHeadersを通じてトークンなどのパラメータを設定できます httpHeaders: {Authorization:'Bearer'+ this.token} 3. 出典 これはもっと重要です。インターネット上の多くの投稿はこのようなものです。 this.src.then(pdf => { this.viewVisible = true; }) TypeError を報告します: this.src.then は関数ではありません TypeError: this.src.then は関数ではありません VueComponent.onPreview (index.vue?6ced:241) で クリック時 (index.vue?aaff:261) 呼び出し時にエラー処理 (vue.runtime.esm.js?2b0e:1854) VueComponent.invoker (vue.runtime.esm.js?2b0e:2179) で 呼び出し時にエラー処理 (vue.runtime.esm.js?2b0e:1854) VueComponent.Vue.$emit (vue.runtime.esm.js?2b0e:3888) で VueComponent.handleClick (element-ui.common.js?5c96:9413) で 呼び出し時にエラー処理 (vue.runtime.esm.js?2b0e:1854) HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179) で HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917) で 正解はこれです this.src.promise.then(pdf => { this.viewVisible = true; }); 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Windows 8 での MySQL Community Server 5.6 のインストールと設定のチュートリアル
>>: Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装
目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...
mysqlはブール型を返します最初のケースでは、直接戻ります select id='22a...
序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...
目次安定スロットル: 手ぶれ防止: 一定時間内に最後のタスクのみを実行します。スロットル: 一定期間...
目次1. 再帰とは何ですか? 2. 再帰を使って数学の問題を解く1. 1 * 2 * 3 * 4 …...
NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...
MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...
Redis クラスターとはRedis クラスターは、Redis が提供する分散データベース ソリ...
CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...
1|0 カーネルをコンパイルする(1)uname -rコマンドを実行してカーネルバージョンを表示しま...
目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...
目次1. Javascript とは何ですか? 2. DOMとは何か3. JSコードの実行方法4. ...
エラーは次のとおりです:キャッチされない TypeError: 未定義のプロパティ 'mod...
1. CentOS 7 仮想マシンを開きます。 2. 仮想マシンにログインし、リストにないユーザー名...
ユーザーの権限に応じて異なるメニュー ページを表示します。知識ポイントルートガード(事前ガードを使用...