Vueはページキャッシュ機能を実装する

Vueはページキャッシュ機能を実装する

この記事の例では、ページキャッシュ機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

キープアライブは主にリスト ページから詳細ページにジャンプするために使用され、その後「戻る」をクリックしたときに、ページ キャッシュがリソースを再度要求する必要がなくなります。

1. ルーターでルーティングを設定する

メタでページをキャッシュする必要があるかどうかを定義する

「vue」からVueをインポートします。
「vue-router」から Router をインポートします。

// 現在の場所への冗長なナビゲーションを避ける const originalPush = Router.prototype.push
Router.prototype.push = 関数push(location) {
   元のPush.call(this, location).catch(err => err) を返します
}

Vue.use(ルーター);
デフォルトの新しいルーターをエクスポートします({
  ベース: ''、
  ルート: [{
      パス: "/"、
      名前: "インデックス",
      コンポーネント: () => import("@/layout"),
      リダイレクト: '/login',
      子供たち: [
        {
          パス: 'dutySheet',
          名前: 'dutySheet',
          コンポーネント: () => import("@/pages/Dashboard/DutySheet")
        },
        {
          パス: 'searchWord',
          名前: '検索ワード',
          コンポーネント: () => import("@/pages/dailyReportManage/searchWord/index"),
          メタ: {
            keepAlive: true // ページをキャッシュする必要があります}
        },
        // マッチングメンテナンス{
          パス: "troopAction",
          名前: "troopAction",
          コンポーネント: () => import("@/pages/Dashboard/TroopAction"),
          メタ: {
            keepAlive: false // キャッシュは不要}
     },
      ]
    },
  ]
});

2. APP.vueを設定する

キャッシュにキープアライブを使用する

<キープアライブ>
    <ルータービュー v-if="$route.meta.keepAlive"></ルータービュー>
</キープアライブ>
<ルータービュー v-if="!$route.meta.keepAlive"></ルータービュー>

3. 戻るボタンをクリックしたら、this.$router.back() メソッドを呼び出します。

// 戻り値 backKBnt(){
        this.$router.back()
      },

4. キャッシュをクリアする

「exhibitionWord」または「exhibitionWeekWord」ページへのジャンプのみがキャッシュされ、他のページへのジャンプはキャッシュする必要はありません。

beforeRouteLeave(to, from, next) {
      if (to.name == 'exhibitionWord' || to.name == 'exhibitionWeekWord') { // キャッシュされるルート名
          from.meta.keepAlive = true
          次()
        }それ以外{
          from.meta.keepAlive = false
          次()
      }
    },

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue でローカル キャッシュのデータを読み書きする方法
  • Vue ブラウザのローカル ストレージの問題の概要
  • Vueデータ監視の原理の詳細な説明
  • Vue はローカル キャッシュ モードを呼び出します (データの変更を監視)

<<:  VirtualBoxにOpenSuseをインストールする方法

>>:  Web フォームの入力要素の高度な使用例 11 選

推薦する

MySQLは実際に分散ロックを実装できる

序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...

nginx をプロキシ キャッシュとして使用する方法

キャッシュを使用する目的は、バックエンドの負荷を軽減し、Web サイトの同時実行性を向上させることで...

HTML でマウスが停止したときに行全体の色 (tr) を変更する方法

純粋な CSS を使用して、マウスが行の上を通過するときに行の背景色を変更し、その行にフォーカスがあ...

まだ*を選択しますか?

アプリケーションが牛のように遅い理由は数多くあります。ネットワーク、システム アーキテクチャ、または...

LinuxカーネルマクロContainer_Ofの詳細な説明

目次1. 構造体はメモリにどのように保存されますか? 2. container_ofマクロ3. 型4...

Nodejs で WeChat アカウント分割を実装するためのサンプルコード

会社のビジネスシナリオでは、WeChat アカウント分割機能を使用する必要があります。公式 Web ...

Linux で 1 回限りのスケジュールされたタスクを実行するための at コマンドの使用に関する詳細な説明

目次序文1. 一度限りの計画タスクの紹介2. コマンド3. 1回限りのスケジュールタスクを作成する4...

vuex名前空間の使用

目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...

Linux で開いているポートへのリモート アクセスを許可する方法

1. ファイアウォール設定ファイルを変更する # vi /etc/sysconfig/iptable...

Dockerを使用して開発環境を構築する方法を素早く習得します

プラットフォームが成長し続けるにつれて、プロジェクトの研究開発は、開発者向けのさまざまな外部環境、特...

Docker Toolboxを完全にアンインストールする方法

Docker Toolbox は、Windows 10 Professional より前のバージョン...

Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。

序文Dockerを使ってHadoopクラスタを起動するたびに、ネットワークカードの再バインド、IPの...

MySQL ロック関連知識のまとめ

MySQL のロックロックは、並行環境におけるリソースの競合を解決する手段です。その中でも、楽観的並...

Linux での vi (vim) の新しい使い方のまとめ

私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...