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 片段的時候,這時候插槽的作用就是體現了,如果子元件不設定插槽,父元件是插入不了子元件中的 片段的。單個插槽可以放置在元件的任意位置,但是就像它的名字一樣,乙個元件中只能有乙個該類插槽。相對應的,具名插槽就可以有很多個,...