vue keepAlive キャッシュクリア問題事例の詳細な説明

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非常に便利です。しかし、異なる条件に応じて同じページをキャッシュするかしないかを決めるのは少し面倒です。

まず、問題点をリストアップします。

1.

<キープアライブv-if="xxx">
          <ルータービュー />
</キープアライブ>
<キープアライブv-else>
          <ルータービュー />
</キープアライブ>

インターネット上にはこのような方法がたくさんあります。この方法を使用すると、キャッシュされたアイテムを削除することはできません。実際には、この方法では、キャッシュされたページとキャッシュされていないページを2つのコンポーネントに分けて表示します。一般的にはそのように見えますが、実際には条件に基づいて異なる時間に異なるコンポーネントが表示されます。

2.

vm.$destroy()

既存のキャッシュを削除しようと考えるとき、ほとんどの人がまず考えるのはキャッシュを削除する方法だと思うので、私もキャッシュを削除する方法を探してみました。次に、vue の destroy メソッドが呼び出されます。それが破壊されたとき、それが実現されたことがわかり、とても嬉しくなります!キャッシュが削除されました〜それで、修正されたと思って、別のものを開発しに行きます。ある日突然気づくんですよね? ページがキャッシュされないのはなぜですか? 調査の結果、$destroy() を呼び出したページはキャッシュされなくなることが判明しました。 。

最終的に私の解決策は:

テンプレート
<keep-alive :include="keepAlive.join(',')">
         <ルータービュー />
</キープアライブ>

ヴュークス

キープアライブ: [
        '/joinManage/register/add-step1',
        '/joinManage/register/add-step2',
        '/joinManage/register/add-step3',
        '/joinManage/config/add-step1',
        '/joinManage/config/add-step2',
        '/joinManage/config/add-step3',
        '/joinManage/config/add-step4',
        '/joinManage/config/add-step5',
    ]、

必要なキャッシュ ページを動的に変更するには、include+vuex を使用します。 Include はコンポーネントの名前を受け入れます (ここでは名前を付けるのが面倒なので、パスを使用して名前を付けますが、実際にはパスは使用されません)

このように、特定のページをキャッシュする必要がある場合は、その名前を keepalive 配列に追加し、必要ない場合は対応するページを削除します。これにより、keepAliveのキャッシュ削除効果が実現されます。

これで、vue keepAlive キャッシュクリア問題の詳細なケースに関するこの記事は終了です。vue keepAlive キャッシュクリア問題のより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue プロジェクトで keepAlive を使用する手順 (超実践版)
  • Vue フロントエンド開発における keepAlive の使用方法の詳細な説明
  • Vue での keepAlive の使用例の詳細な説明
  • VueのkeepAliveコンポーネントの機能と使い方の詳細な説明
  • Vue で keepAlive を使用するときにキャッシュされない問題を解決する
  • Vue の keepAlive 設定が有効にならない場合の解決方法

<<:  nginx を使用した負荷分散モジュールの解釈

>>:  よく使われる3つのMySQLデータ型

推薦する

HTML の順序なしリストタグと順序付きリストタグの使用例

1. 上部と下部のリストタグ: <dl>..</dl>:上dt下層dd: カ...

JavaScript 以外の静的リソースのバンドルの詳細

目次1. パッケージングツールでのカスタムインポート2. ブラウザとバンドラの共通インポート構文3....

Jenkins の docker-compose デプロイメントと構成に関する詳細なチュートリアル

Docker-compose デプロイメント構成 Jenkins 1. Docker-compose...

Linux の 5 ステップ ビルド カーネル ツリー

目次0. システムに付属するカーネルツリー1. 環境設定最初のステップステップ2 2. ソースコード...

Linux/CentOS サーバー セキュリティ構成の一般ガイド

Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...

初心者のためのWebサイト構築入門 ③ エイリアス(CNAME)レコードとURL転送

①. エイリアス(CNAME)レコードの使用方法:前回の投稿のドメイン名解決では、A レコードの解...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...

Vue+Websocketはチャット機能を実装するだけです

この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...

Vueはスクロールバースタイルを実装します

最初はブラウザのスクロールバーのスタイルを変更して効果を実現したいと思っていましたが、情報を調べてみ...

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

jsを使用して動的な背景を実現する

この記事の例では、動的な背景を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...

Centos 6.9 に MySQL をインストールするための詳細なチュートリアル

1. MySQLがインストールされているかどうかを確認します。次のコードで確認できます。 [root...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

Python 仮想環境のインストールとアンインストールの方法と発生する問題

Ubuntu16.04 のインストールとアンインストール pip実験環境Ubuntu 16.04; ...