Vue でスロットを使用する方法についての簡単な説明

Vue でスロットを使用する方法についての簡単な説明

定義と使用方法:

コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、スロットタグの途中で定義できます。スロットタグが name 属性値を宣言していない場合、スロットを使用するときにデフォルトで最初のスロットから下に配置されます。使いやすさのために、スロットには一般的に name 属性値が指定されています。スロットを使用する場合は、使用したいタグに slot='slot name' を追加するだけで、指定したタグを指定したスロットに配置することができます。スロットは任意のコンテンツにすることができます。

例:

<!DOCTYPE html>

<html lang="ja">

<ヘッド>

    <メタ文字セット="UTF-8">

    <meta http-equiv="X-UA-compatible" content="IE=edge">

    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">

    <title>スロット練習</title>

    <script src="../../js/vue.js"></script>

</head>

<本文>

    <div id="アプリ">

        <div style="border: 7px solid blueviolet;">

            <h2>親コンポーネント</h2>

            <cpn>

                <!-- 指定されたスロット位置に要素を追加します -->

                <button slot="left">ボタン</button>

                <input type="text" slot="right" placeholder="これは入力ボックスです..."></input>

            </cpn>

        </div>

    </div>

    <テンプレート lang="" id="cpn">

        <div style="border: 6px solid green;">

            <h2>サブコンポーネント</h2>

            <!-- サブコンポーネントに 3 つのスロットを定義し、スロットの値はデフォルト値です -->

            <slot name="left">左</slot>

            <slot name="mediate">中</slot>

            <slot name="right">右</slot>

        </div>

    </テンプレート>

    <スクリプト>

        新しいVue({

            el:'#app',

            コンポーネント:{

                cpn:{

                    テンプレート:'#cpn',

                }

            }

        })

    </スクリプト>

</本文>

</html>

効果は以下のようになります。

分析:

上記の例では、子コンポーネントに 3 つのスロットが定義され、特定の name 属性値が与えられています。親コンポーネントが子コンポーネントを呼び出すと、子コンポーネントの left という名前のスロットにボタンが配置され、right という名前のスロットに入力ボックスが配置されます。このことから、スロットを使用することで、コンポーネントにさらに多くの拡張機能を持たせることができることがわかります。スロットの内容は何でもかまいません。スロットを定義することは、事前にコンポーネント用の穴を掘っておき、後で使用するときにそれを呼び出すことと同じです。


Vue のスロットの使い方に関する記事はこれで終わりです。Vue のスロットの使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue スコープ スロットの詳細、スロット、v-slot、slot-scope
  • Vueのスロット配信コンテンツ(複数配信)について
  • Vue2のスロットの基本的な使用仕様
  • Vueスロットの詳細な説明
  • Vue でのスロットの使用に関する詳細な説明

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

>>:  CSSのoutline-offsetプロパティを使用してプラス記号を実装する

推薦する

MySQLのクラスタモードでのgalera-clusterのデプロイメントの詳細説明

目次1: galera-clusterの紹介2. galera-clusterの仕組み3: Mari...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

JSフロントエンドモジュール化のいくつかの仕様についての簡単な説明

目次序文フロントエンドモジュール開発の価値厄介な名前の競合面倒なファイル依存関係モジュール化の利点C...

Vue の下部ナビゲーション バー TabBar を実装するための非常に詳細なチュートリアル

目次プロジェクト紹介:プロジェクトディレクトリ: TabBar 効果のプレビュー: TabBar 実...

MySQL における in と exists の違いの詳細な説明

1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

ReactプロジェクトにSCSSを導入する方法

まず依存関係をダウンロードします yarn sass-loader ノード sass を追加します次...

JavaScript でオブジェクトのプロパティを削除する方法

1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...

Docker のインストールと構成コマンドのコード例

Dockerのインストール依存パッケージをインストールする sudo yum install -y ...

動的および静的分離を実現する nginx のサンプルコード

1. nginxの動的と静的の分離の簡単な設定web1は静的サーバー、web2は動的サーバー、nod...

Docker ファイルの保存パス、コンテナの起動コマンド操作の取得

コンテナはすでに作成されていますが、その起動パラメータ(データがマウントされる場所)を知る方法 #コ...

Dockerを使用してMySQL 8.0をデプロイする方法の例

1. 公式サイトを参照してdockerをインストールする2. MySQLイメージをプルします(デフォ...

jQueryの競合問題を解決する方法

フロントエンド開発において、$ は jQuery の関数です。$ のパラメータが異なると、実装される...

Vue ページに img 画像を導入する方法

HTMLを学ぶとき、画像タグ<img>は画像を導入します <img src=&qu...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...