Vue.js のスロットを使用すると、コンポーネントがカスタム コンテンツを挿入できるようになり、コードの再利用と柔軟性が実現します。スロットの仕組み: 親コンポーネントは <slot> を介してスロットを作成します。子コンポーネントは、 および v-slot を介して親コンポーネントのスロットにコンテンツを挿入します。 name 属性を使用してスロットに名前を付けると、スロットを挿入する場所が明確になります。機能: コードの再利用の柔軟性 コンテンツの分離 コンポーネント間の通信 たとえば、再利用可能なフォーム コンポーネント、カスタム タイトル、送信ボタンを作成できます。
Vue.js におけるスロットの役割
スロットは Vue.js の重要な機能であり、コンポーネント内にカスタム コンテンツを挿入できるため、コードの再利用と柔軟性が実現します。
スロットの仕組み
親コンポーネントでは、<slot>
タグを使用してスロットを作成できます。スロットは、子コンポーネントが入力できるプレースホルダーを定義します。子コンポーネントで、次のように <template>
タグと v-slot
ディレクティブを使用して親コンポーネントのスロットにコンテンツを挿入します。スロットの挿入 <slot>
标签创建插槽。插槽定义了一个占位符,子组件可以填充此占位符。在子组件中,通过 <template>
标签和 v-slot
指令将内容插入父组件的插槽中,如下所示:
<code class="html"><!-- 父组件 --> <my-component> <slot name="header"></slot> <slot name="content"></slot> <slot name="footer"></slot> </my-component> <!-- 子组件 --> <template> <div> <h1 v-slot:header>插槽标题</h1> <p v-slot:content>插槽内容</p> <button v-slot:footer>按钮</button> </div> </template></code>
命名插槽
插槽可以使用 name
属性指定名称,这样就可以更明确地指定插入内容的位置。例如,在上面的示例中,我们使用了 header
、content
和 footer
スロットには name
属性を使用して名前を付けることができ、コンテンツを挿入する場所をより明確に指定できます。たとえば、上の例では、header
、content
、および footer
の名前を使用してスロットの場所を指定しました。
例
たとえば、スロットを使用して再利用可能なフォームコンポーネントを作成できます:
<code class="html"><!-- 父组件 --> <my-form> <template v-slot:title><h2>填写表单</h2></template> <template v-slot:submit-button><button type="submit">提交</button></template> </my-form> <!-- 子组件 --> <template> <form> {{ title }} <input type="text" placeholder="姓名" /> <input type="email" placeholder="电子邮件" /> {{ submitButton }} </form> </template></code>
以上がVue におけるスロットの役割は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。