Vue デフォルトスロットの理解とサンプルコード

Vue デフォルトスロットの理解とサンプルコード

スロットとは何か

スロットは、親コンポーネントに提供される子コンポーネントのプレースホルダーで、<slot></slot> で表されます。親コンポーネントは、HTML、コンポーネントなどの任意のテンプレート コードをこのプレースホルダーに入力できます。入力されたコンテンツは、子コンポーネントの <slot></slot> タグを置き換えます。

デフォルトスロットの理解

完全なタグ()を使用して、対応する構成を完全なタグで記述します(たとえば、必要な機能など)。

次に、デフォルトのスロットタグを使用して、書き込まれたコンテンツをこのスロットに配置します(このスロットは通常、子コンポーネントに存在するため、親コンポーネントが書き込んだ内容を子コンポーネントに渡すことができます)。

完全なタグに記述された構成スタイルについては、親コンポーネントと子コンポーネントの両方に記述できます (1. 親コンポーネントにスタイルが記述されている場合、スタイルはレンダリングされてから子コンポーネントに配置されます。2. 子コンポーネントにスタイルが記述されている場合、構成はスロットに配置され、スロットが配置されている子コンポーネントには構成をレンダリングする CSS スタイルがあるため)。

コードスニペット

①カテゴリー.vue

<テンプレート>
  <div class="カテゴリ">
    <h3>{{ title }}カテゴリー</h3>

    <!-- デフォルトのスロットを定義すると、App.vue 内の対応するコンポーネント タグのタグ本体のコンテンツがこのスロットに配置されます -->
    <スロット></スロット>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  名前:「カテゴリー」、
  プロパティ: ["タイトル"],
};
</スクリプト>

<スタイル>
.カテゴリー{
  背景色: スカイブルー;
  幅: 200ピクセル;
  高さ: 300px;
}
h3 {
  テキスト配置: 中央;
  背景色: オレンジ;
}
</スタイル>

②App.vue

<テンプレート>
  <div class="コンテナ">
    <カテゴリータイトル="食品">
      <画像
        src="https://zqcdn.itzjj.cn/static/skin/mfw0321/static/picture/dj_scv.jpg"
        代替案 = "1"
      />
    </カテゴリー>
    <Category title="ゲーム" :listData="ゲーム">
      <ul>
        <!-- この時点では変数はapp.vue内に直接格納されているので、ゲームを直接走査することができます。
        トラバース後、スロット関数を使用してCategory.vueに渡します -->
        <li v-for="(g, index) ゲーム内" :key="index">
          {{g}}
        </li>
      </ul></カテゴリー
    >

    <Category title="映画" :listData="films">
      <!-- コントロールによりビデオを再生できます -->
      <ビデオ
        コントロール
        src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
      </ビデオ>
    </カテゴリー>
  </div>
</テンプレート>

<スクリプト>
「./components/Category」からカテゴリーをインポートします。

エクスポートデフォルト{
  名前:「アプリ」、
  コンポーネント: { カテゴリ },
  データ() {
    戻る {
      食べ物: ["火", "あなたの肉", "ミートボール"],
      ゲーム: ["Red Alert Online"、"Cross Fire"、"Audition"]、
      映画: [「ゴッドファーザー」、「ショックウェーブ」、「オーサム」]、
    };
  },
};
</スクリプト>

<スタイル>
。容器 {
  ディスプレイ: フレックス;
  コンテンツの両端揃え: スペースを空ける;
}

ビデオ
  幅: 100%;
}

画像 {
  幅: 100%;
}
</スタイル>

要約する

これで、vue デフォルト スロットに関するこの記事は終了です。vue デフォルト スロットに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue の匿名スロットと名前付きスロットの詳細な説明
  • Vue 名前付きスロットの基本的な使用例
  • Vue はスロットを使用してコンテンツを配布します。操作例 [単一スロット、名前付きスロット、スコープ付きスロット]
  • Vue の匿名スロット、名前付きスロット、スコープ付きスロットの使い方の詳細な説明
  • Vue.js スロットにおけるスコープ付きスロットの使用法の詳細な説明
  • VUE のコンパイル スコープとスロット スコープのスロットの問題について
  • Vueスコープスロットの実装方法と機能の詳しい説明
  • Vue のデフォルト スロット、名前付きスロット、スコープ スロットの定義と使用方法

<<:  docker を使用して minio と java sdk を構築するプロセスの詳細な説明

>>:  Docker で MySQL をデプロイする詳細なプロセス (Docker でデプロイされる一般的なアプリケーション)

推薦する

MySQL MHA の高可用性構成とフェイルオーバーの詳細な導入手順

目次1. MHAの紹介1. MHAとは何ですか? 2. MHAの構成3. MHAの特徴2. MySQ...

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...

MySQL の int(n) の後の n はどういう意味ですか?

int(1) の長さ 1 は、許可されたストレージ幅を表していないことはすでにご存知かもしれません...

Vue が 4 レベルのナビゲーションと検証コードを実装する方法の例

効果: まず5つのVueインターフェースを作成する1.home.vueページ <テンプレート&...

この記事では、Viteがブラウザのリクエストに対して何を行うかを説明します。

目次動作原理:ブラウザは何をするのですか?ホストファイル index.htmlメイン.jsその他のベ...

バックエンドデータを取得するためのVue Elementフロントエンドアプリケーション開発

目次概要1. バックエンドデータの取得と処理2. インターフェース表示処理概要前回のエッセイ「ステッ...

mysql ローカルログインでポート番号を使用してログインできない問題の解決策

最近、Linux を使用してローカルにログインしていたところ、正常にログインできず、次のエラー メッ...

nginxフロー制御とアクセス制御の実装

nginx トラフィック制御レート制限は非常に便利ですが、Nginx では誤解され、誤って設定される...

Nginx の realip モジュールの使い方の基礎学習

序文nginx モジュールには、公式とサードパーティの 2 種類があります。nginx のインストー...

Ansibleを使用してディレクトリ内のすべてのコンテンツを削除する方法

Ansible を使用する学生は、以下に示すように、Ansible が特定のフォルダーまたはファイル...

Navicat がデータベース データ構造をインポートする際に発生するエラー datetime(0) の SQL レポートの問題を解決します。

エラー発生: MySQL 5.7 から SQL にデータベースをエクスポートし、それを MySQL ...

MySQL countの詳細な説明と関数のサンプルコード

mysql countの詳細な説明count関数はテーブルや配列内のレコードを数えるために使われます...