目次
スロットとは
スロットが必要になります。したがって、名前付きの slot
具名作用域插槽
写在最后
ホームページ ウェブフロントエンド Vue.js スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

Aug 23, 2022 pm 07:57 PM
vue vue3 スロット slot

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

Vue Vue を使ったことがある人なら誰でも多かれ少なかれスロットを使ったことがあると思いますが、その用途をすべて知っていますか?この記事では、ギャップを見つけて埋めるのに役立つ、Vue3 のスロットの使用法をすべて説明します。 (学習ビデオ共有: vue ビデオ チュートリアル )

スロットとは

簡単に言えば、サブで提供されるスロットです。 -component 親コンポーネントによって使用される ピット <slot></slot> で表されます。親コンポーネントは、このピットに任意のテンプレート コードを入力し、その後 ##子コンポーネントの #<slot></slot> はこれらの内容に置き換えられます。たとえば、最も単純なスロットの例

//父组件
<template>
  <div>
    <child>Hello Juejin</child>
  </div>
</template>
<script>
import Child from &#39;./Child.vue&#39;
</script>

//子组件Child
<template>
    <div>
        <p>1</p>
        <slot></slot>
        <p>2</p>
    </div>
</template>
ログイン後にコピー
では、子コンポーネントの

<slot></slot> は、子コンポーネント タグ の間に配置された親コンポーネントです。 スペースのコンテンツ。もちろん、この期間中に任意のコード スニペットを渡すことができ、そのコード スニペットは <slot></slot> の位置に配置されます。

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう##同様に、

//父组件
<template>
  <div>
    <child>{{ msg }}</child>
  </div>
</template>
<script>
import { ref } from &#39;vue&#39;
import Child from &#39;./Child.vue&#39;
const msg = ref(&#39;Hello Juejin&#39;)
</script>
ログイン後にコピー

のように、タグ <child></child> の間に変数を入れることもできます。 まず、以下について説明します。頻繁に現れる 2 つの単語

スロット

スロット コンテンツ は、その後の読み方での混乱を防ぐためのものです:

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう同じ

スロット

は、この msg 変数を表します。したがって、子コンポーネント slot は親コンポーネントのデータ スコープにアクセスできますが、slot content は子コンポーネントのデータ (つまり、次の 2 つの &lt) にはアクセスできません。親コンポーネント ;Child> の間では子コンポーネント内のデータは使用できません)、これがいわゆるレンダリング スコープです。 slot パラメータを slot content に渡す方法は後ほど紹介します。

Default content

は、親コンポーネント

slot content

が指定されている場合、子コンポーネントの slot のデフォルトのコンテンツ (現時点では <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">//子组件 &lt;template&gt;     &lt;div&gt;         &lt;slot&gt;我是默认内容&lt;/slot&gt;     &lt;/div&gt; &lt;/template&gt; //父组件1 &lt;template&gt;   &lt;div&gt;     &lt;child&gt;&lt;/child&gt;   &lt;/div&gt; &lt;/template&gt; &lt;script&gt; import Child from &amp;#39;./Child.vue&amp;#39; &lt;/script&gt; //父组件2 &lt;template&gt;   &lt;div&gt;     &lt;child&gt;Hello Juejin&lt;/child&gt;   &lt;/div&gt; &lt;/template&gt; &lt;script&gt; import Child from &amp;#39;./Child.vue&amp;#39; &lt;/script&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div> など) を指定できます。親コンポーネント 1

デフォルトのコンテンツを表示

##親コンポーネント 2

#提供されたコンテンツを表示スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

# #NamedSlot

1 つの スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょうスロット

ではニーズを満たせないことが多く、複数の

スロットが必要になります。したがって、名前付きの slot

である

named slot があります。簡単に言うと、この 名前付きスロット の目的は、ニンジンを罠にかけて、あるべき場所に留まらせることです。たとえば、name のスロットは、名前付きスロットと呼ばれます。 name が指定されていない には、暗黙的に「default」という名前が付けられます。親コンポーネントでは、v-slot:xxx (#xxx と省略可能) ディレクティブの

動的スロット名

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

動的スロット名は、変数形式のスロット名です。この変数はいつでも変更して、さまざまな効果を表示できます。

v-slot:[変数名]

と表記するか、

#[変数名]と省略します。
//父组件
<template>
  <div>
    <child>
      <!-- 等同于#smallTurnip -->
      <template>
        小萝卜
      </template>
      <template>
        中萝卜
      </template>
      <template>
        大萝卜
      </template>
    </child>
  </div>
</template>
<script>
import { ref } from &#39;vue&#39;
import Child from &#39;./Child.vue&#39;
const slotName = ref(&#39;smallTurnip&#39;)
</script>
ログイン後にコピー

スコープ スロットスコープ スロット

前述のスロットの内容

アクセスすることは不可能ですサブコンポーネントのデータですが、

スロット コンテンツのサブコンポーネントのステータスにアクセスしたい場合はどうすればよいでしょうか?

実際、

slot は、プロパティを親コンポーネントの slot content## にバインドすることで、slot タグに渡すことができます。コンポーネント。まず、デフォルトのスロット

//子组件
<template>
    <div>
        <slot></slot>
    </div>
</template>

//父组件

<template>
  <div>
    <child>
      My name is {{ slotProps.personName }} and I am {{ slotProps.age }} years old this year
    </child>
  </div>
</template>
<script>
import Child from &#39;./Child.vue&#39;
</script>
ログイン後にコピー

の値の転送方法を見てみましょう。slotによって提供されるデータを構造体<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;template&gt;   &lt;div&gt;     &lt;child&gt;       My name is {{ personName }} and I am {{ age }} years old this year     &lt;/child&gt;   &lt;/div&gt; &lt;/template&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div>##の形式で取得することもできます。 #<p>注意不能绑定<code>name属性,因为你绑定了name它就成了具名插槽了。同样具名插槽中的name属性也不会传递给插槽内容。因为传递的参数只能在插槽内容中使用,所以这类能够接受参数的插槽就被称为了作用域插槽

具名作用域插槽

下面再看下具名作用域插槽它的传参方式。它接收参数的方式是通过template标签的指令v-slot的值获取的,所以可以缩写成这样

//父组件
<template>
  <div>
    <child>
      <template>
        {{ bigTurnipProps.message }}
      </template>
    </child>
  </div>
</template>
<script>
import Child from &#39;./Child.vue&#39;
</script>

//子组件Child.vue

<template>
    <div>
        <!-- 大萝卜 -->
        <div>
            <slot></slot>
        </div>
    </div>
</template>
ログイン後にコピー

スロットとは何ですか? Vue3 でスロットを使用する方法について話しましょう

这类插槽便是具名作用域插槽

写在最后

到这里插槽(slot)的全部用法基本就已经介绍完啦。如果感觉对你有用的话赶紧点赞收藏吧!

(学习视频分享:web前端开发编程基础视频

以上がスロットとは何ですか? Vue3 でスロットを使用する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

エクスポートデフォルトとVUEでのインポートの使用方法 エクスポートデフォルトとVUEでのインポートの使用方法 Apr 07, 2025 pm 07:09 PM

エクスポートデフォルトは、VUEコンポーネントのエクスポートに使用され、他のモジュールがアクセスできるようにします。インポートは、単一または複数のコンポーネントをインポートできる他のモジュールからコンポーネントをインポートするために使用されます。

VUEでデフォルトのエクスポートを使用する方法 VUEでデフォルトのエクスポートを使用する方法 Apr 07, 2025 pm 07:21 PM

VUEのデフォルトのエクスポートが明らかになります:デフォルトのエクスポート、名前を指定せずにモジュール全体を一度にインポートします。コンポーネントはコンパイル時にモジュールに変換され、使用可能なモジュールはビルドツールを介してパッケージ化されます。名前付きのエクスポートと組み合わせて、定数や関数などの他のコンテンツをエクスポートできます。よくある質問には、循環依存関係、パスエラー、およびビルドエラーが含まれ、コードとインポートステートメントを慎重に調べる必要があります。ベストプラクティスには、コードセグメンテーション、読みやすさ、コンポーネントの再利用が含まれます。

VueとElement-UIカスケードドロップダウンボックスプロップパス値 VueとElement-UIカスケードドロップダウンボックスプロップパス値 Apr 07, 2025 pm 07:36 PM

データ構造は、VUEおよびElement-UIがカスケードしたドロップダウンボックスがプロップを通過し、静的データの直接割り当てがサポートされている場合に明確に定義する必要があります。データが動的に取得される場合は、ライフサイクルフック内で値を割り当て、非同期状況を処理することをお勧めします。非標準のデータ構造の場合、デフォルトプロップまたは変換データ形式を変更する必要があります。意味のある変数名とコメントで、コードをシンプルで理解しやすいままにしてください。パフォーマンスを最適化するには、仮想スクロールまたは怠zyな読み込み手法を使用できます。

VUEおよびElement-UIカスケードセレクターを実装する方法 VUEおよびElement-UIカスケードセレクターを実装する方法 Apr 07, 2025 pm 08:18 PM

VueおよびElement-UIカスケードセレクターは、簡単なシナリオでEL-Cascaderコンポーネントを直接使用できますが、よりエレガントで効率的で堅牢なコードを記述するには、次の詳細に注意する必要があります。データソース構造の最適化:データを平らにし、IDと括弧を使用して親子関係を表す。非同期読み込みデータ処理:読み込みステータス、エラープロンプト、ユーザーエクスペリエンスを処理します。パフォーマンスの最適化:オンデマンド読み込みまたは仮想スクロールテクノロジーを検討してください。コードの読みやすさと保守性:コメントを書き、意味のある変数名を使用し、コード仕様に従ってください。

Vueコンポーネントがエクスポートデフォルトを使用する理由 Vueコンポーネントがエクスポートデフォルトを使用する理由 Apr 07, 2025 pm 07:06 PM

初心者は、コンポーネントのエクスポートを簡素化し、柔軟性を向上させ、競合の命名を回避し、ビルドツールで特別に処理され、ビルド効率の最適化に役立つため、Vueコンポーネントへのエクスポートを好みます。さらに、コードの読みやすさと保守性を向上させ、エラーの可能性を低下させます。

VUEでのエクスポートデフォルトとエクスポートの違いは何ですか VUEでのエクスポートデフォルトとエクスポートの違いは何ですか Apr 07, 2025 pm 07:12 PM

エクスポートデフォルトとエクスポートの違い:エクスポートにより、名前のエクスポートが許可されます。インポートするときは同じ名前が必要であり、複数のコンポーネントをエクスポートできます。これは明確でメンテナンスが簡単です。エクスポートのデフォルトでは、1つのデフォルト値のみをエクスポートし、インポートを簡素化しますが、明確さを減らし、大規模なプロジェクトでの命令に簡単につながる可能性があります。 1つのコンポーネントのみをエクスポートする必要があると確信していない限り、最初にエクスポートを使用することをお勧めします。

VUEでのエクスポートデフォルトエクスポート VUEでのエクスポートデフォルトエクスポート Apr 07, 2025 pm 07:18 PM

VUEでのエクスポートデフォルトエクスポートは、エクスポートのデフォルトに続くものに応じて、オブジェクト、関数、または任意のJavaScript値になることができる値です。したがって、エクスポート:コンポーネントオプションオブジェクト(コンポーネントインスタンスの作成に使用)機能通常のJavaScriptオブジェクト

VueとElement-UIカスケードドロップダウンボックスカスタムテンプレート VueとElement-UIカスケードドロップダウンボックスカスタムテンプレート Apr 07, 2025 pm 07:27 PM

VUEとElement-UIのカスケードドロップダウンボックステンプレートをカスタマイズするには、次の手順が含まれます。カスケードセレクターの仕組みとVUEのスロットメカニズムを理解します。 El-CascaderでScoped-Slotを使用して、カスタムテンプレートを定義します。ノードとデータ変数を使用して、現在のノード情報と元のデータを取得します。アイコンや異なるスタイルなど、ニーズに応じて柔軟にデータを表示します。データ構造はElement-UIの要件に準拠しており、Scoped-Slotを正しく使用することに注意してください。非同期データの読み込みを処理するための国家管理ツールと併せて。ブラウザ開発者ツールを使用して問題を見つけます。

See all articles