搞懂Vue插槽

2021-09-26 05:12:15 字數 2331 閱讀 3660

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

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

下面來總結一下插槽的一些知識吧。

分一下幾點:

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

2、預設插槽

3、具名插槽

4、作用域插槽

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

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

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

>

<

/child-component>

<

/div>

vue.

component

('child-component',)

let vm =

newvue(}

)<

/script>

你好<

/child-component>

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

這就是插槽出現的作用。

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

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

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

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

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

就會跑到它這裡了!

二、具名插槽

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

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

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

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

>

"girl"

>

漂亮、美麗、購物、逛街

<

/template>

"boy"

>

帥氣、才實

<

/template>

我是一類人,

我是預設的插槽

<

/div>

<

/child-component>

<

/div>

vue.

component

('child-component',)

let vm =

newvue(}

)<

/script>三、預設插槽

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

四、作用域插槽

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

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

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

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

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

這就是作用域插槽!

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

>

"a">

}<

/template>

<

/child>

<

/div>

vue.

component

('child',)

let vm =

newvue(}

)<

/script>再看一下下面的例子:

>

:lists

="namelist"

>

slot-scope

="a"

>

}template

>

child

>

div>

vue插槽樣式 vue基礎之插槽

categories vue基礎 tags 插槽element ui 插槽slot 插槽 vue內建元件 做為承載分發內容的出口 普通插槽 插槽使用 全域性元件 第乙個引數是元件名,第二個引數是options vue.component vbtn template 我是頭部元件 var vconte...

具名插槽和匿名插槽 vue 插槽

插槽就是子元件中的提供給父元件使用的乙個佔位符,用 表示,父元件可以在這個佔位符中填充任何模板 如 html 元件等,填充的內容會替換子元件的標籤。1.插槽 建立slots.vue 主檔案引入 原生效果 插槽效果。這樣在中間可以巢狀內容 這裡的內容會被插入到slots中顯示 我是插槽 2.預設插槽 ...

插槽樣式 vue 插槽2

1.編譯作用域 父級模板裡的所有內容都是在父級作用域中編譯的 子模板裡的所有內容都是在子作用域中編譯的。在開發階段 在哪就是哪的責任,不是最終在哪呈現是哪的責任。主頁面傳遞 頭部 身體 底部 slots頁面呈現 2.作用域插槽實現頭部字型變大,在子模板裡 只是載入作用,不能改變樣式,要想改變只能到父...