Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue v-slot 指令


示例

使用 v-slot 指令将 'Hello!' 消息定向到名为 'bottomSlot' 的命名插槽,位于 <slot-comp> 组件内部。

<slot-comp v-slot:bottomSlot>'Hello!'</slot-comp>
运行示例 »

查看下面的更多示例。


定义和使用

v-slot 指令用于将内容定向到命名插槽。

v-slot: 的简写形式是 #

v-slot 指令还可以用于接收来自作用域插槽的数据,这些数据通过子组件中的 v-bind 提供。

v-slot 可以用于组件或内置的 <template> 元素上。

当我们想要将内容分配给组件中的多个插槽时,v-slot 用于 <template> 元素上。


更多示例

示例 1

使用 v-slot<template> 元素上将内容分配给同一个组件中的两个不同插槽。

App.vue:

<template>
  <h1>App.vue</h1>
  <p>The component has two slots, and the template element is used to assign content to both.</p>
  <slot-comp>
    <template v-slot:topSlot>
      <div>
        <p>Tigers are beautiful!</p>
        <img src="tiger.svg" alt="tiger" width="100">
      </div>
    </template>
    <template v-slot:bottomSlot>
      <div>
        <p>Whales can be very big</p>
      </div>
    </template>
  </slot-comp>
</template>

SlotComp.vue:

<template>
  <hr>
  <h3>Component</h3>
  <slot name="topSlot"></slot>
  <slot name="bottomSlot"></slot>
</template>
运行示例 »

示例 2

使用 v-slot 将内容定向到默认插槽。

SlotComp.vue:

<h3>Component</h3>
<div>
  <slot></slot>
</div>
<div>
  <slot name="bottomSlot"></slot>
</div>

App.vue:

<h1>App.vue</h1>
<p>The component has two div tags with one slot in each.</p>
<slot-comp v-slot:default>'Default slot'</slot-comp>
运行示例 »

示例 3

使用 v-slot: 简写形式 #

App.vue:

<h1>App.vue</h1>
<p>The component has two div tags with one slot in each.</p>
<slot-comp #topSlot>'Hello!'</slot-comp>

SlotComp.vue:

<h3>Component</h3>
<div>
  <slot name="topSlot"></slot>
</div>
<div>
  <slot name="bottomSlot"></slot>
</div>
运行示例 »

示例 4

使用 v-slot 接收来自作用域插槽的数据。

App.vue:

<slot-comp v-slot:"dataFromSlot">
  <h2>{{ dataFromSlot.lclData }}</h2>
</slot-comp>
运行示例 »

相关页面

Vue 教程: Vue 插槽

Vue 教程: 作用域插槽

Vue 教程: Vue 组件

Vue 教程: Vue v-slot

Vue 参考: Vue <slot> 元素

Vue 参考: Vue $slots 对象


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.