1. Vスロットの紹介
使用例: //親コンポーネントコード <child-com> <テンプレート v-slot:nameSlot> スロットコンテンツ</template> </child-com> //コンポーネント テンプレート <slot name="nameSlot"></slot> v-slot の構文は slot と slot-scope スコープ スロットの機能を簡素化し、より強力で効率的なものにします。 2. 匿名スロットコンポーネントにスロットが 1 つしかない場合は、 匿名スロットの使用: //コンポーネント呼び出し <child-com> <テンプレート v-スロット> スロットコンテンツ</template> </child-com> //コンポーネント テンプレート <slot ></slot>
3. 名前付きスロットコンポーネント内に複数のスロットがある場合、v-slot 属性値が設定されていないと、デフォルトでは name 属性値のない要素がスロット コンポーネントに挿入されます。指定された位置に該当する要素を配置するには、 名前付きスロットは以下を使用します: //親コンポーネント <child-com> <テンプレート v-slot:header> ヘッダー</テンプレート> <テンプレート v-slot:body> コンテンツ</template> <テンプレート v-slot:footer> 足 </child-com> //サブコンポーネント <div> <スロット名="ヘッダー"></スロット> <スロット名="本文"></スロット> <スロット名="フッター"></スロット> </div> 名前付きスロットの略語: 前述のように、v-slot:footer は #footer に短縮できます。 上記の親コンポーネント コードは次のように簡略化できます。 <child-com> <テンプレート #ヘッダー> ヘッダー</テンプレート> <テンプレート #本文> コンテンツ</template> <テンプレート #フッター> 足 </child-com>
4. スコープ付きスロット子コンポーネントでのみ使用可能なデータへのアクセス権をスロット コンテンツに付与すると便利な場合があります。コンポーネントを使用してアイテムの配列をレンダリングし、各アイテムのレンダリング方法をカスタマイズできるようにすることが一般的なケースです。 子コンポーネントのプロパティをスロット コンテンツで使用できるようにするには、 使用例: // <child-com> <テンプレート v-slot:header="slotProps"> スロットコンテンツ --{{ slotProps.item }} シリアル番号 --{{ slotProps.index }} </テンプレート> </child-com> //サブコンポーネントコード <テンプレート> <div v-for="(item, index) in arr" :key="index"> <スロット:item="アイテム" name="ヘッダー":index="インデックス"></スロット> </div> </テンプレート> <スクリプトの設定> 定数arr = ['1111', '2222', '3333'] </スクリプト> 5. 動的なスロット名
のように: <child-com> <テンプレートvスロット:[dd()]> 動的スロット名</template> </child-com> <スクリプトの設定> 定数dd = () => { 'hre'を返す } ここでは関数が使用されていますが、変数を直接使用することもできます。 Vue3 スロットの使い方のまとめはこれで終わりです。Vue3 スロットの使い方に関するより詳しい内容は、123WORDPRESS.COM の過去記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: フロントエンドの面接の質問の最も包括的なコレクション
>>: 実行中の時計を実装するための純粋な CSS3 コード
導入MySQL スロー クエリ ログは、問題のある SQL ステートメントのトラブルシューティングや...
勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...
目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...
1. 正規表現マッチング大文字と小文字を区別するマッチングの場合 ~ ~*は大文字と小文字を区別しな...
異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....
1. 問題複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性がありま...
Mysql8.0.12 解凍版のインストール方法をテストしましたので、ご参考までに1. ダウンロー...
目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...
jsはクリックとドロップの特殊効果を実現します。まずは効果画像を見てみましょうさっそく始めましょう。...
この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...
1. app.jsonを使用してページを作成する私たちの通常の開発習慣によれば、新しいページを作成す...
序文最近、小さなデモを作成しました。大規模な工場のオンライン データを使用したため、インターフェイス...
基本概念絶対配置: 絶対配置に設定された要素ボックスはドキュメント フローから完全に削除され、その包...
序文この記事では、vue に付属している vue-router.js ルーティングを使用してページン...
Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...