<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • slot1接口(主板上的slot的接口)


    前言:

    vue的slot主要分三種:1. 普通插槽;2. 具名插槽;3. 作用插槽。

    使用插槽是在存在父子關系的組件中使用,我們可以在子組件中決定插槽的位置,同時子組件也可以給這些插槽的默認信息,當父組件中沒有需要給子組件插槽插入信息時,顯示的是子組件插槽定義的默認信息,下邊簡單說下vue這三種插槽如何使用。

    準備工作:

    很簡單,就創建父組件testSlot.vue,子組件children.vue,并在testSlot組件中注冊引入children組件。

    vue中幾種類型的插槽(slot)的使用方法

    一 普通插槽的使用:

    普通插槽:<slot></slot>

    在子組件中定義一個普通插槽:

    vue中幾種類型的插槽(slot)的使用方法

    在開發中我們經常使用到組件之間的傳值,但很多情況涉及到的都是數據屬性的傳值,比如父組件將msg傳給子組件:

    vue中幾種類型的插槽(slot)的使用方法

    現在如果是這種情況:

    vue中幾種類型的插槽(slot)的使用方法

    如果子組件中沒有使用插槽的情況下:

    vue中幾種類型的插槽(slot)的使用方法

    瀏覽器中的頁面,父組件中的p標簽的內容是不會還給子組件的:

    vue中幾種類型的插槽(slot)的使用方法

    這時候,想讓父組件定義的p標簽傳給子組件并顯示,可以在子組件中定義一個默認插槽:

    vue中幾種類型的插槽(slot)的使用方法
    vue中幾種類型的插槽(slot)的使用方法

    在子組件中,你也可以定義多個默認插槽,并在子組件中決定這些默認插槽的位置,父組件要插入的內容,都會被填充到這些默認的插槽中:

    vue中幾種類型的插槽(slot)的使用方法
    vue中幾種類型的插槽(slot)的使用方法

    當然,父組件定義要插入到子組件的插槽的內容,并不一定只有是dom結構類型的,也可以是一個組件,也可以是普通的數據結構,只要子組件有定義插槽,就會把內容填充進去。

    二 具名插槽的使用:

    具名插槽:<slot name=”名稱”></slot>

    vue 2.6.0 版本使用具名插槽和作用域插槽有了新的統一語法,使用v-slot替換了之前的slot和slot-scope

    什么叫具名插槽?

    其實就是在子組件中定義插槽時,給對應的插槽分別起個名字,方便后邊插入父組件將內容根據name來填充對應的內容。

    子組件中,定義兩個具名插槽:

    vue中幾種類型的插槽(slot)的使用方法

    父組件中:

    為了驗證,子組件中的插槽可以填充任何結構的內容,所以我這邊專門在one_slot插槽中插入一個組件,而在two插槽就單純插入一串普通的數據

    vue中幾種類型的插槽(slot)的使用方法

    頁面結果:

    vue中幾種類型的插槽(slot)的使用方法

    當然,子組件可以定義多個同名的具名插槽:

    vue中幾種類型的插槽(slot)的使用方法
    vue中幾種類型的插槽(slot)的使用方法

    三 作用域插槽:

    作用域插槽:<slot :自定義name=data中的屬性或對象></slot>

    通過上邊的默認插槽和具名插槽的使用過程中,發現,基本都是父組件中決定要插入到子組件中的內容,而子組件自行決定插槽的位置。

    具名插槽,就是實現在子組件中自行決定自己要顯示什么內容。

    a.子組件:

    vue中幾種類型的插槽(slot)的使用方法

    b.父組件:

    這種時候有一種情況需要注意:

    如果子組件中只有一個作用域插槽時,父組件可以使用下邊這種簡單的寫法,當然規范點還是加上template模板標簽好點:

    vue中幾種類型的插槽(slot)的使用方法

    頁面效果:

    vue中幾種類型的插槽(slot)的使用方法

    但是當子組件中有多個作用域插槽時,不建議上邊這種簡單的寫法,因為可能會出現作用域不明確的問題。

    子組件有多個作用域插槽時:

    vue中幾種類型的插槽(slot)的使用方法

    父組件使用這種規范的寫法,可以避免有時作用域不明確問題:

    vue中幾種類型的插槽(slot)的使用方法

    頁面效果:

    vue中幾種類型的插槽(slot)的使用方法

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费