成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 Vue 命名插槽創(chuàng)建多個模板插槽?

開發(fā) 前端
Vue 插槽允許將父組件中的內(nèi)容注入到子組件中。這是最基本的示例,如果我們不提供父級的任何slot 內(nèi)容,則我們將放在其中的任何內(nèi)容都會作為后備內(nèi)容。

[[397990]]

Vue 插槽允許將父組件中的內(nèi)容注入到子組件中。

這是最基本的示例,如果我們不提供父級的任何slot 內(nèi)容,則我們將放在其中的任何內(nèi)容都會作為后備內(nèi)容。

  1. // ChildComponent.vue 
  2. <template> 
  3.   <div> 
  4.      <slot> 后備內(nèi)容 </slot> 
  5.   </div> 
  6. </template> 

你組件代碼:

  1. // ParentComponent.vue 
  2. <template> 
  3.    <child-component> 
  4.       替換 slot 的默認內(nèi)容 
  5.    </child-component> 
  6. </template> 

編譯后,我們的 DOM 將如下所示

  1. <div> 替換 slot 的默認內(nèi)容 </div> 

我們還可以將父組作用域內(nèi)的任何數(shù)據(jù)寫在 slot 區(qū)域中。例如,父組件有一個名為title的數(shù)據(jù)字段,我們可以使用以下代碼將其注入到子組件中:

  1. // ParentComponent.vue 
  2.  
  3. <template> 
  4.    <child-component> 
  5.       {{ title }}  
  6.    </child-component> 
  7. </template> 
  8.  
  9. <script> 
  10. export default { 
  11.    data () { 
  12.      return { 
  13.        title: '這會傳遞給子組件'
  14.      } 
  15.    } 
  16. </script> 

為什么我們需要命名插槽

在Vue中使用命名插槽有兩個步驟:

  • 使用name屬性從子組件中命名 slot
  • 使用v-slot指令從父組件向這些命名插槽提供內(nèi)容

默認情況下,不給插槽顯式的name屬性時,它有默認名字是default。

為了給我們的 slot 起個名字,元素具有一個特殊的name屬性,可以讓我們在多個插槽之間進行區(qū)分。

在下面的Article.vue 中,我們命名三個 slot

  1. // Article.vue - Child Component 
  2. <template> 
  3.   <div> 
  4.     <slot name="title"> 默認 title </slot> 
  5.     <slot name="content"> 默認 content </slot> 
  6.     <slot name="comments"> 默認 comments</slot> 
  7.   </div> 
  8. </template> 

然后,在父組件中,我們可以在元素上使用v-slot指令指定我們想要注入內(nèi)容的slot。

  1. // ParentComponent.vue 
  2. <template> 
  3.   <div> 
  4.     <child-component> 
  5.       <template> 我的 Title </template> 
  6.       <template> 我的 Content </template> 
  7.       <template> 我的 Comments </template> 
  8.     </child-component> 
  9.   </div> 
  10. </template> 

因為這是沒有指定 slot 的名稱,所以顯示的是 slot 默認的內(nèi)容。

要解決這個問題,可以使用v-slot,指定的名稱要確保名稱與我們在子組件中聲明的名稱完全匹配。

  1. <template> 
  2.   <div> 
  3.     <child-component> 
  4.       <template v-slot:title> 我的 title </template> 
  5.       <template v-slot:content> 我的 content </template> 
  6.       <template v-slot:comments> 我的 comments </template> 
  7.     </child-component> 
  8.   </div> 
  9. </template> 

再次運行:

使用 Vue 命名插槽有什么意義

命名槽讓我們可以使用多個槽,但是為什么這對我們Vue開發(fā)人員有用呢。

簡而言之,它使我們可以更好地組織開發(fā)代碼,還可以編寫更具擴展性的代碼。

就個人而言,我認為最重要的是,它允許我們在代碼上使用插槽,從而使樣式設(shè)計變得更加容易。在我們的示例中,Article.vue子組件只有三個插槽,但是在實際應(yīng)用中,這些插槽看起來更像這樣,以便我們的組件可以向每個部分添加CSS樣式。

  1. <template> 
  2.   <div> 
  3.     <div class="title"
  4.       <h1> 
  5.         <slot name="title"> 默認 Title </slot> 
  6.       </h1> 
  7.     </div> 
  8.     <div class="content"
  9.       <p> 
  10.         <slot name="content"> 默認  Content </slot> 
  11.       </p> 
  12.     </div> 
  13.     <div class="comments"
  14.       <slot name="comments"> 默認  Comments </slot> 
  15.     </div> 
  16.   </div> 
  17. </template> 

在此示例中,更容易理解為什么我們需要多個 slot。由于我們注入的內(nèi)容是通過不同的<div>,<p>和DOM元素彼此分隔的。無法在一個slot中傳遞所有這些信息。

如果檢查DOM,可以看到使用v-slot的模板將內(nèi)容正確地插入到正確的位置。

~完,我是刷碗智,去刷碗了,下期見!

作者:Matt Maribojoc 譯者:前端小智 來源:stackabuse

 

原文:https://learn.co/2021/04/using-vue-named-slots-to-create-multile-template-slots/

本文轉(zhuǎn)載自微信公眾號「大遷世界」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系大遷世界公眾號。

 

責(zé)任編輯:武曉燕 來源: 大遷世界
相關(guān)推薦

2020-05-25 17:03:47

Vue嵌套插槽開發(fā)

2024-06-03 10:00:51

Vue 3語法插槽

2021-12-29 07:51:21

Vue3 插件Vue應(yīng)用

2020-08-10 08:30:35

Vue 數(shù)據(jù)插槽

2025-03-07 10:10:48

Vue插槽slot

2022-07-15 08:45:07

slotVue3

2021-04-14 07:52:00

Vue 作用域插槽

2021-09-03 08:23:21

Vue 插槽子組件

2019-10-15 09:05:07

域插槽組件前端

2022-09-22 08:45:10

Vue組件函數(shù)

2022-09-21 11:45:22

Vue組件插槽函數(shù)

2012-02-16 10:51:39

AMDOpteron皓龍?zhí)幚?/a>服務(wù)器

2021-11-26 10:08:57

鴻蒙HarmonyOS應(yīng)用

2023-11-06 07:37:01

函數(shù)式插槽React

2021-09-27 09:04:40

Vue.js代碼庫開發(fā)人員

2013-01-06 10:18:40

英特爾Haswell插槽

2010-06-04 15:30:44

Linux 查看內(nèi)存

2013-01-07 10:36:15

Haswell處理器插槽

2020-02-20 12:04:58

CPU性能最優(yōu)化

2023-07-25 08:10:36

內(nèi)存CPU插槽
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 男女精品网站 | 日韩精品一区二区三区四区视频 | 欧美xxxx网站| 暴草美女 | 国产成人jvid在线播放 | 伊人av在线播放 | www.久| 福利视频亚洲 | 一区二区高清 | 一区二区三区影院 | 精品久久亚洲 | 国产欧美日韩综合精品一区二区 | 亚洲第一av | www天天操 | 成人免费大片黄在线播放 | 欧美视频1区 | 97超碰中文网| 综合久久色 | 国产亚洲成av人片在线观看桃 | 成人在线视频免费看 | 日韩欧美国产一区二区三区 | 日韩黄色av | 亚洲一区二区久久 | 欧美一级黄色片 | 日操操夜操操 | 成人av一区二区三区 | 综合精品| 黄色片免费看 | 日韩在线欧美 | 久久亚洲欧美日韩精品专区 | 国产精品999 | 欧美一区2区三区4区公司 | 国产高清在线精品 | 日本三级网址 | 欧美一级免费 | 国产精品国产三级国产aⅴ原创 | 欧美淫| 久久久亚洲 | 欧美日韩亚洲一区 | 国产欧美在线播放 |