Vue 插槽詳解

2021-09-24 07:55:59 字數 1645 閱讀 6549

vue插槽,是學習vue中必不可少的一節,當初剛接觸vue的時候,對這些掌握的一知半解,特別是作用域插槽一直沒明白。

後面越來越發現插槽的好用。

分享一下插槽的一些知識吧。

分一下幾點:

1、插槽內可以放置什麼內容?

2、預設插槽

3、具名插槽

4、作用域插槽

一、插槽內容

一句話:插槽內可以是任意內容。

先看一下下面的**:宣告乙個child-component元件,

如果現在我想在內放置一些內容,結果會是怎樣?

複製**

你好複製**

輸出內容還是在元件中的內容,在 內寫的內容沒起作用。

這就是插槽出現的作用。

我們現在給元件增加乙個插槽

我們在內寫的"你好"起作用了!!!

vue.component('child-component',)複製**

到現在,我們知道了什麼是插槽:

插槽就是vue實現的一套內容分發的api,將元素作為承載分發內容的出口。

這句話的意思就是,沒有插槽的情況下在元件標籤內些一些內容是不起任何作用的,當我在元件中宣告了slot元素後,在元件元素內寫的內容

就會跑到它這裡了!

二、具名插槽

具名插槽,就是給這個插槽起個名字

在元件中,我給插槽起個名字,乙個名字叫"girl",乙個名字叫"boy",還有乙個不起名字。

然後再內,slot屬性對應的內容都會和元件中name一一對應。

而沒有名字的,就是預設插槽!!

"girl">

漂亮、美麗、購物、逛街

"boy">

帥氣、才實

我是一類人,

我是預設的插槽

複製**

三、預設插槽

上面已經介紹過了,這裡不做描述

四、作用域插槽

之前一直沒搞懂作用域插槽到底是什麼!!!

說白了就是我在元件上的屬性,可以在元件元素內使用!

先看乙個最簡單的例子!!

我們給元素上定義乙個屬性say(隨便定義的!),接下來在使用元件child,然後在template元素上新增屬性slot-scope!!隨便起個名字a

我們把a列印一下發現是 ,也就是slot上面的屬性和值組成的鍵值對!!!

這就是作用域插槽!

我可以把元件上的屬性/值,在元件元素上使用!!

"a">      "say":"你好"} -->

}複製**

再看一下下面的例子:

按 ctrl+c 複製**

按 ctrl+c 複製**

看一下輸出結果

這太有用了兄弟們!!!

這樣我就可以在這元素上隨便玩了啊!!

當id等於1的時候,我前面加個你好。

我可以隨便根據這個物件的屬性值進行操作!

"namelist">

"a">

'a.bbbbb.id==1'>你好:}

}複製**

最後!如果用過elementui的同學,一定知道**就是這樣來的!!

**的本質就是這樣!

vue插槽(slot)詳解

最近被問起是否了解vue的插槽 slot 咋一想發現,似乎很少用到這玩意。所以整理了下slot的一些用法。vue 實現了一套內容分發的 api,將元素作為承載分發內容的出口,這是vue文件上的說明。具體來說,slot就是可以讓你在元件內新增內容的 空間 舉個例子 子元件 假設名為 ebutton 父...

22 VUE 插槽 詳解

一直對插槽不理解,今天學習,並整理一下,希望日後可以靈活運用。先簡單來個例子,看一下插槽的租作用。div id h1 這是父元件 h1 child component 你好 child component div div h2 這是子元件,child component h2 div 父元件引用子元...

vue中插槽的使用詳解

插槽的使用場景,個人理解勿噴 當你在父元件中想要操作子元件,往子元件插入html 片段的時候,這時候插槽的作用就是體現了,如果子元件不設定插槽,父元件是插入不了子元件中的 片段的。單個插槽可以放置在元件的任意位置,但是就像它的名字一樣,乙個元件中只能有乙個該類插槽。相對應的,具名插槽就可以有很多個,...