Vue中的插槽 slot

2022-03-04 14:59:06 字數 2811 閱讀 1883

一:什麼是插槽?

二:怎麼用插槽?

2.1預設插槽

子元件

<

template

>

<

div

class

="slotcontent"

>

<

ul>

<

li v-for

="item in items"

>}

li>

ul>

div>

template

>

<

script

>

export

default

, ,,]

}}}script

>

<

style

scoped

>

style

>

父元件

跳轉到詳情

父元件}

效果圖:

解釋:這種情況是如果要父元件在子元件中插入內容 ,必須要在子元件中宣告slot標籤  ,如果子元件模板不包含插口,父元件的內容}

將會被丟棄。

當slot存在預設值預設值

,且父元素在中沒有要插入的內容時,會顯示預設值

(p標籤會去掉),當slot存在預設值,且父元素在中存在要插入的內容時,則顯示父元件中設定的值,

2.2 具名插槽

子元件

<

template

>

<

div

class

="slottwo"

>

<

div>slottwo

div>

<

slot

name

="header"

>

slot

>

<

slot

>

slot

>

<

slot

name

="footer"

>

slot

>

div>

template

>

解釋:在子元件中定義了三個slot標籤,其中有兩個分別新增了name屬性header和footer

父元件

<

template

>

<

div>

我是父元件

<

slot-two

>

<

p>啦啦啦,啦啦啦,我是賣報的小行家

p>

<

template

slot

="header"

>

<

p>我是name為header的slot

p>

template

>

<

p slot

="footer"

>我是name為footer的slot

p>

slot-two

>

div>

template

>

解釋:在父元件中使用template並寫入對應的slot值來指定該內容在子元件中現實的位置(當然也不用必須寫到template),沒有對應值的其他內容會被放到子元件中沒有新增name屬性的slot中。

2.3 作用域插槽

子元件

<

template

>

<

div>

我是作用域插槽的子元件

<

slot

:data

="user"

>

slot

>

div>

template

>

<

script

>

export

default

, ,]}

}}script

>

解釋:在子元件的slot標籤上繫結需要的值

父元件

<

template

>

<

div>

我是作用域插槽

<

slot-three

>

<

template

slot-scope

="user"

>

<

div

v-for

="item in user.data"

:key

="item.id"

>

}

div>

template

>

slot-three

>

div>

template

>

解釋:在父元件上使用slot-scope屬性,user.data就是子元件傳過來的值

大概是可以這麼理解的:

我理解的就像是函式的引數變數一樣

function(filed)

這個slot就是這個變數,隨便我們插入到哪個位置(自己預定義)

vue插槽樣式 vue中的插槽slot

插槽 slot 是元件的一塊html模板,父元件決定這塊模板顯不顯示以及怎麼顯示。位置由子元件自身決定 slot現在元件template的什麼位置,父元件傳過來的模板將來就顯示在什麼位置 匿名插槽 只能有乙個,可以放在元件的任何位置 在父元件在裡面寫了html模組 子元件的匿名插槽被下面的div模板...

Vue中的slot插槽

前言 之前學vue對插槽只有乙個模糊的存值概念,最近在封裝自定義元件時,再次學習一下。通過slot插槽向元件內部指定位置傳遞內容,通過slot可以父子傳參,簡化了進行自定義元件的封裝和使用。自己對插槽理解 就是乙個站位html模板,用來攜帶內容,插入到合適的位置,由父元件來決定其顯示的內容,使得模組...

vue中的slot(插槽)

1 slot 基本用法 插槽指允許將自定義的元件像普通標籤一樣插入內容 import vue from vue 定義元件componentone const compoentone 呼叫元件 newvue el id data template 使用插槽 2 具名插槽 給具體的插槽命名,並在使用的時...