この記事では主にVueにおけるコンポーネントの切り替えとキャッシュソリューションについて紹介します 1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する// 変数フラグが true の場合、comp-a コンポーネントが表示され、そうでない場合は comp-b コンポーネントが表示されます <comp-a v-if="flag"></comp-a> <comp-b v-else></comp-b> 方法 2: 組み込みコンポーネントを使用する: <component></component>// クリックするとログイン、登録、終了コンポーネントが切り替わります <template> <div> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'login'">ログイン</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'register'">登録</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'logOut'">ログアウト</a> // <component></component> は対応する名前のコンポーネントを表示します。これはプレースホルダーに相当します // :is 属性はコンポーネント名を指定します <component :is="comName"></component> </div> </テンプレート> 方法3: vue-router// ルーティングルール: { パス: '/login', 名前: 'ログイン', コンポーネント: () => import('../views/login.vue') }, { パス: '/register', 名前: 'レジスタ', コンポーネント: () => import('../views/register.vue') }, //コンポーネントを表示する場所: <ルータービュー /> 2. コンポーネントのキャッシュ: キープアライブこの記事の冒頭の実際のシナリオのように、コンポーネントを破棄して再構築するのではなく、必要に応じてコンポーネントをキャッシュします。 1.キープアライブの定義
<keep-alive> は抽象コンポーネントです。DOM要素自体はレンダリングされず、親コンポーネント チェーンにも表示されません。 2.キープアライブライフサイクル活性化された
無効化 このフックは
キャッシュが設定されているコンポーネント:
3. キープアライブの使い方1. 小道具
2. <component></component> で使用する<テンプレート> <div> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'login'">ログイン</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'register'">登録</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'logOut'">ログアウト</a> // ログイン コンポーネントがキャッシュされます。include が設定されていない場合、<component></component> にマウントされているすべてのコンポーネントがデフォルトでキャッシュされます。// 指定された複数のコンポーネントをキャッシュします include = ['login', 'register'] <キープアライブを含める="ログイン"> <コンポーネント:is="comName"></コンポーネント> </キープアライブ> </div> </テンプレート> 3. <router-view /> ルーティングで使用するルーティング { パス: '/login', 名前: 'ログイン', コンポーネント: () => import('../views/login.vue') メタ:{ keepAlive : true // ログインコンポーネントはキャッシュされます} }, { パス: '/register', 名前: 'レジスタ', コンポーネント: () => import('../views/register.vue'), メタ:{ keepAlive : false // レジスタコンポーネントはキャッシュされません} }, <ルータービュー />: <div id="アプリ"> <キープアライブ> <!-- キャッシュする必要があるコンポーネントを表示します--> <router-view v-if="$route.meta.keepAlive"> </router-view> </キープアライブ> <!-- キャッシュを必要としないコンポーネントを表示します --> <router-view v-if="!$route.meta.keepAlive"> </router-view> </div> 4. キャッシュコンポーネントをクリアする// beforeRouteLeave() フック // 詳細ページに移動するかどうかを決定する beforeRouteLeave(to, from, next) { to.path === "/goods_detail"の場合{ メタキープアライブ = true; } それ以外 { from.meta.keepAlive = false; // this.$destroy() } 次(); } これで、vue コンポーネントの切り替え、動的コンポーネント、コンポーネントのキャッシュに関するこの記事は終了です。vue コンポーネントの切り替え、動的コンポーネント、コンポーネントのキャッシュに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法
この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...
目次なぜ最適化するのですか? ?どこから始めますか? ?解決策は何ですか? ? ?どうやって選ぶ? ...
ダウンロードしてインストールします。まず、システムに MySQL または MariaDB があるかど...
要素までスクロールするたびに読み込みアニメーションを追加するにはどうすればよいですか?初期パラメータ...
FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...
1.1 はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメ...
今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...
序文コードを書くと、時々基数変換の問題に遭遇します。一般的な変換には、2進数、8進数、10進数、16...
前提条件クラウドサーバー(Alibaba Cloud、Tencent CloudなどのcentOS)...
目次リアクトフック序文なぜフックなのか?クラス関数クラスとフックの比較フックはコンポーネントの状態を...
目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...
Linux 初心者から Linux マスターへの成長の道: Linux システム ディレクトリ s...
この記事では、例を使用して、MySQL データベースの最適化のためのテーブルおよびデータベース シャ...
1. Java環境jdk1.8を準備するJavaがインストールされているかどうかを確認します。イン...
1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...