スロット (slot) は、Vue のコンテンツ配布メカニズムです。コンポーネント内のテンプレート エンジンは、配布されたコンテンツを運ぶための出口としてスロット要素を使用します。 スロットは子コンポーネントのテンプレート タグ要素であり、このタグ要素が表示されるかどうか、またどのように表示されるかは親コンポーネントによって決定されます。 スロットは、デフォルト スロット、名前付きスロット、スコープ スロットの 3 つのカテゴリに分けられます。 (ここでは最初の 2 つについてお話します) スロットの本質は、スロットは本質的にサブコンポーネントの拡張であり、コンテンツは <slot> スロットを通じてコンポーネント内の「指定された場所」に配信されることです。 1. 匿名スロットデフォルト スロット: 匿名スロットとも呼ばれ、スロットで名前属性値が指定されていない場合のデフォルトの表示スロットです。コンポーネントには匿名スロットが 1 つだけあります。 例: まずVueインスタンスを作成し、idがappのdivにマウントします。 <div id="アプリ"> </div> <script src="./js/vue.js"></script> <スクリプト> // ルート コンポーネント (親コンポーネント、ベース コンポーネントとも呼ばれる) vm = new Vue({ el:'#app', }) </スクリプト> ローカル コンポーネントを作成するときは、コンポーネント内のスロットを定義します。スロットは子コンポーネントに配置する必要があります。 // ローカルコンポーネントを宣言する let child = { テンプレート:` <div> <p>私はサブコンポーネントです</p> <p>私は言葉の列です</p> <slot>これはプレースホルダーです</slot> </div> ` } VMインスタンスのサブコンポーネントセンターにローカルコンポーネントを定義し、ビューレイヤーにレンダリングします。 // ルート コンポーネント (親コンポーネント、ベース コンポーネントとも呼ばれる) vm = new Vue({ el:'#app', // サブコンポーネント(登録センター) コンポーネント:{ // キーと値のペア。キーと値が同じ場合は子を省略できます } }) <div id="アプリ"> <!-- コンポーネントの使用 --> <子></子> </div> コンテンツが渡されない場合、スロットの (デフォルトの) コンテンツが表示されます。 ビューレイヤーのスロットにコンテンツを渡します。 <!-- コンポーネントの使用 --> <子供> <h1 style="color: aqua;">これはコンテンツです</h1> </子> コンテンツが渡されると、スロットの (デフォルトの) コンテンツは表示されません。 注: ビュー レイヤーのスロットにコンテンツを渡すには、子コンポーネントにスロットが存在している必要があります。そうでない場合は表示されません。 子コンポーネントに複数の匿名スロットがある場合、渡されたコンテンツは各スロットに個別に配置されます。 テンプレート:` <div> <p>私はサブコンポーネントです</p> <p>私は言葉の列です</p> <slot>これはプレースホルダーです</slot> <スロット></スロット> <スロット></スロット> </div> ` <子供> <h1 style="color: aqua;">これが最初のコンテンツです</h1> <h1 style="color: red;">この 2 番目のコンテンツ</h1> </子> 2. 名前付きスロット子コンポーネントでスロットを定義するときは、対応するスロットに名前を付けて、その後の親コンポーネントの挿入を容易にし、名前に従って対応するコンテンツを埋めます。 まず、子コンポーネントでスロットに名前を付けます (匿名スロットには実際にはデフォルト名 default がありますが、これは省略できます)。 テンプレート:` <div> <p>私はサブコンポーネントです</p> <p>私は言葉の列です</p> <slot name="default">これはプレースホルダーです</slot> <slot name="t1">これは t1 プレースホルダーの内容です</slot> <slot name="t2">これは t2 プレースホルダーの内容です</slot> <slot name="t3">これは t3 プレースホルダーの内容です</slot> <slot name="t5">これはt4の内容です</slot> </div> `、 名前付きスロットを使用するメソッド 1. サブコンポーネント内のスロットを定義し、名前を付ける 2. 親コンポーネントのビューレイヤーのタグに、タグにスロット属性を追加します。 このプロパティには特定のスロットの名前を割り当てることができます <子供> <!-- この時点では、これら 2 つの文はまだ匿名スロットに配置されています --> <h1 style="color: aqua;">これが最初のコンテンツです</h1> <h1 style="color: red;">この 2 番目のコンテンツ</h1> <!-- slot="t1" はコンテンツを配置するスロットを指定します --> <h2 style="color: blue;" slot="t1">名前付きスロット t1 で使用したい</h2> <h3 style="color: green;" slot="t2">名前付きスロット t2 で使用したい</h3> <h4 style="color: orange;" slot="t3">t3 という名前のスロットに配置したい</h4> <h5 style="color: pink;" slot="t4">t4 という名前のスロットで使用したい</h5> </子> 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...
なぜ仮想DOMが必要なのでしょうか?仮想 DOM はブラウザのパフォーマンス問題を解決するために設計...
関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...
前回、Taobaoの詳細ページを分析した後(クリックして表示)、ショッピングモールの基本テンプレート...
jQueryは劇場の座席選択と予約の効果を実現します。参考までに、具体的な内容は次のとおりです。効果...
ジェネリックの定義 // 要件 1: ジェネリックは指定されていないデータ型をサポートできるため、渡...
目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...
1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...
目次ノードイベントループイベントループ図メインスレッドイベントループタイマーキューの仕組み投票キュー...
目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...
HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...
この記事では、セグメンター効果を実現するためのvue uniappの具体的なコードを参考までに共有し...
この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...
目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...
IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...