Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH 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 AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn Vue

Vue HOME Vue Giới thiệu Vue Chỉ thị Vue v-bind Vue v-if Vue v-show Vue v-for Vue Sự kiện Vue v-on Vue Methods Vue Event Modifier Vue Forms Vue v-model Vue CSS Binding Vue Tính toán Thuộc tính Vue Watchers Vue Mẫu

Mở rộng quy mô

Vue Tại sao, Cách thức và Thiết lập Trang SFC đầu tiên của Vue Thành phần Vue Đạo cụ Vue Vue v-for Thành phần Vue $emit() Vue Thuộc tính dự phòng Vue Kiểu dáng có phạm vi Vue Thành phần cục bộ Vue Slots Vue v-slot Vue Scoped Slots Vue Thành phần động Vue Teleport Vue Yêu cầu HTTP Mẫu Vue Tham chiếu Vòng đời Vue Móc nối Vue Cung cấp/Tiêm Vue Định tuyến Vue Đầu vào biểu mẫu Vue Vue Animations Vue Animations với v-for Vue Build Vue Composition API

Tham khảo Vue

Thuộc tính tích hợp của Vue Các thành phần tích hợp của Vue Các phần tử tích hợp Vue Ví dụ thành phần Vue Chỉ thị Vue Tùy chọn phiên bản Vue Móc vòng đời Vue

Vue Ví dụ

Ví dụ về Vue Bài tập Vue Vue Quiz Vue Server Chứng chỉ Vue

Phần tử Vue <slot>


Ví dụ

Sử dụng phần tử <slot> tích hợp để đặt nội dung từ thành phần cha mẹ vào <template> của thành phần con.

 <template>
  <div>  
    <p>SlotComp.vue</p>
    <slot></slot>
  </div>
</template>
Chạy ví dụ »

Xem thêm ví dụ dưới đây.


Định nghĩa và cách sử dụng

Phần tử <slot> tích hợp được sử dụng để đặt nội dung nhận được từ thành phần chính.

Khi một thành phần con được gọi, nội dung được cung cấp giữa thẻ bắt đầu và thẻ kết thúc sẽ xuất hiện ở vị trí phần tử <slot> nằm bên trong thành phần con đó.

Một thành phần có thể chứa nhiều hơn một <slot> và các vị trí này có thể được đặt tên bằng name prop. Với các thành phần có các vị trí được đặt tên khác nhau, chúng ta có thể sử dụng lệnh v-slot để gửi nội dung đến các vị trí cụ thể. ( Ví dụ 3 )

Nội dung giữa thẻ bắt đầu và thẻ kết thúc của phần tử <slot> sẽ được sử dụng làm nội dung dự phòng nếu cấp độ gốc không cung cấp nội dung nào. ( Ví dụ 5 )

Thông tin có thể được cung cấp cho phần tử gốc thông qua các đạo cụ <slot> . ( Ví dụ 8 )

Phần tử <slot> chỉ là phần giữ chỗ cho nội dung, bản thân phần tử <slot> không được hiển thị thành phần tử DOM.


đạo cụ

Prop Description
[any] Props defined in slots create 'scoped slots' and such props are sent to the parent. Run Example »
name Names a slot so that the parent can direct content into a specific slot with the v-slot directive. Run Example »

Thêm ví dụ

ví dụ 1

Sử dụng các vị trí để bao quanh các khối nội dung HTML động lớn hơn để có giao diện giống như thẻ.

App.vue :

 <template>
  <h3>Slots in Vue</h3>  
  <p>We create card-like div boxes from the foods array.</p>
  <div id="wrapper">
    <slot-comp v-for="x in foods">
      <img v-bind:src="x.url">
      <h4>{{x.name}}</h4>
      <p>{{x.desc}}</p>
    </slot-comp>
  </div>
</template>

Khi nội dung đi vào thành phần có <slot> , chúng tôi sử dụng div xung quanh <slot> và tạo kiểu cục bộ cho <div> để tạo giao diện giống như thẻ xung quanh nội dung mà không ảnh hưởng đến các div khác trong ứng dụng của chúng tôi.

SlotComp.vue :

 <template>
  <div> <!-- This div makes the card-like appearance -->
    <slot></slot>
  </div>
</template>

<script></script>

<style scoped>
  div {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    border-radius: 10px;
    margin: 10px;
  }
</style>
Chạy ví dụ »

Ví dụ 2

Sử dụng một khe để tạo chân trang.

App.vue :

 <template>
  <h3>Reusable Slot Cards</h3>
  <p>We create card-like div boxes from the foods array.</p>
  <p>We also create a card-like footer by reusing the same component.</p>
  <div id="wrapper">
    <slot-comp v-for="x in foods">
      <img v-bind:src="x.url">
      <h4>{{x.name}}</h4>
    </slot-comp>
  </div>
  <footer>
    <slot-comp>
      <h4>Footer</h4>
    </slot-comp>
  </footer>
</template>
Chạy ví dụ »

Ví dụ 3

Sử dụng tên vị trí, nội dung có thể được gửi đến một vị trí cụ thể.

SlotComp.vue :

 <h3>Component</h3>
<div>
  <slot name="topSlot" ></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:bottomSlot >'Hello!'</slot-comp>
Chạy ví dụ »

Ví dụ 4

Với hai vị trí trong một thành phần, nội dung được gửi đến thành phần đó sẽ xuất hiện ở cả hai vị trí.

App.vue :

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

SlotComp.vue :

 <h3>Component</h3>
<div>
  <slot></slot>
</div>
<div>
  <slot></slot>
</div>
Chạy ví dụ »

Ví dụ 5

Sử dụng nội dung dự phòng trong một vùng để nội dung nào đó được hiển thị khi không có nội dung nào được cung cấp từ cấp độ gốc.

App.vue :

 <template>
  <h3>Slots Fallback Content</h3>
  <p>A component without content provided can have fallback content in the slot tag.</p>
  <slot-comp>
    <!-- Empty -->
  </slot-comp>
  <slot-comp>
    <h4>This content is provided from App.vue</h4>
  </slot-comp>
</template>

SlotComp.vue :

 <template>
  <div>
    <slot>
      <h4>This is fallback content</h4>
    </slot>
  </div>
</template>
Chạy ví dụ »

Ví dụ 6

Vị trí không có tên sẽ là vị trí mặc định cho nội dung từ cấp độ gốc.

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>'Hello!'</slot-comp>
Chạy ví dụ »

Ví dụ 7

Sử dụng v-slot:default để xác định rõ ràng một vị trí là vị trí mặc định.

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>
Chạy ví dụ »

Ví dụ 8

Vị trí có phạm vi: Sử dụng giá trị 'foodName' trong vị trí để truyền đạt tên thực phẩm cho phụ huynh.

SlotComp.vue :

 <template>
  <slot
    v-for="x in foods"
    :key="x"
    :foodName="x"
  ></slot>
</template>

<script>
  export default {
    data() {
      return {
        foods: ['Apple','Pizza','Rice','Fish','Cake']
      }
    }
  }
</script>

App.vue :

 <slot-comp v-slot="food" >
  <h2>{{ food.foodName }}</h2>
</slot-comp>
Chạy ví dụ »

Ví dụ 9

Vị trí có phạm vi: Sử dụng đạo cụ trong vị trí để truyền đạt một số thứ cho cấp độ gốc, dựa trên một mảng có các đối tượng.

SlotComp.vue :

 <template>
  <slot
    v-for="x in foods"
    :key="x.name"
    :foodName="x.name"
    :foodDesc="x.desc"
    :foodUrl="x.url"
  ></slot>
</template>

<script>
  export default {
    data() {
      return {
        foods: [
          { name: 'Apple', desc: 'Apples are a type of fruit that grow on trees.', url: 'img_apple.svg' },
          { name: 'Pizza', desc: 'Pizza has a bread base with tomato sauce, cheese, and toppings on top.', url: 'img_pizza.svg' },
          { name: 'Rice', desc: 'Rice is a type of grain that people like to eat.', url: 'img_rice.svg' },
          { name: 'Fish', desc: 'Fish is an animal that lives in water.', url: 'img_fish.svg' },
          { name: 'Cake', desc: 'Cake is something sweet that tastes good but is not considered healthy.', url: 'img_cake.svg' }
       ]
      }
    }
  }
</script>

App.vue :

 <slot-comp v-slot="food">
  <hr>
  <h2>{{ food.foodName }}<img :src= food.foodUrl ></h2>
  <p>{{ food.foodDesc }}</p>
</slot-comp>
Chạy ví dụ »

Ví dụ 10

Sử dụng các vị trí có phạm vi được đặt tên để đặt một văn bản vào "leftSlot" và một văn bản khác vào "rightSlot".

SlotComp.vue :

 <template>
  <slot
    name="leftSlot"
    :text="leftText"
  ></slot>
  <slot
    name="rightSlot"
    :text="rightText"
  ></slot>
</template>

<script>
  export default {
    data() {
      return {
        leftText: 'This text belongs to the LEFT slot.',
        rightText: 'This text belongs to the RIGHT slot.'
      }
    }
  }
</script>

App.vue :

 <slot-comp #leftSlot="leftProps">
  <div>{{ leftProps.text }}</div>
</slot-comp>
<slot-comp #rightSlot="rightProps">
  <div>{{ rightProps.text }}</div>
</slot-comp>
Chạy ví dụ »

Trang liên quan

Hướng dẫn Vue: Vue Slots

Hướng dẫn Vue: Vue v-slot

Hướng dẫn về Vue: Slots có phạm vi

Hướng dẫn Vue: Thành phần

Tham khảo Vue: Chỉ thị Vue v-slot

Tham khảo Vue: Đối tượng Vue $slots


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .