最簡單易懂的 vue 插槽教程

2021-09-08 07:24:47 字數 3241 閱讀 2399

>

>

>

my_slot

>

div>

"test"

>

>

>

我是頭部header

>

>

我是中間slot

>

>

我是尾部footer

>

div>

template

>

body

>

// js 部分

vue.

component

('my_slot',)

newvue

()

上面**註冊了乙個元件,然後在 div 裡渲染這個元件,頁面顯示如下:

我是頭部

我是中間

我是尾部

現在修改 html **,渲染元件的時候傳入乙個 p 標籤,**如下:

>

>

>

我是插入進來的p

>

my_slot

>

div>

現在頁面顯示如下:

我是頭部

我是插入進來的

我是尾部

上面傳入到組價的 p 標籤替換了元件原有的 slot 標籤,slot 就像乙個事先預留的位置,任何渲染時傳入的內容都可以插入到這個位置,所以形象的叫它插槽。不光可以插標籤,還可以插等等。

注意:不帶 name 屬性的 slot 插槽都是匿名插槽,如果有多個插槽,則傳入的值會替換所有插槽。

看例子:

"test"

>

>

>

我是頭部header

>

>

我是中間slot

>

>

我是中間slot

>

>

我是中間slot

>

>

我是尾部footer

>

div>

template

>

上面**在原來的基礎上新增了兩個插槽,這時候頁面顯示如下:

我是頭部

我是插入進來的

我是插入進來的

我是插入進來的

我是尾部

>

>

slot

="one"

>

我是插入進來的span

>

my_slot

>

div>

"test"

>

>

>

我是頭部header

>

name

="one"

>

我是oneslot

>

name

="two"

>

我是twoslot

>

name

="three"

>

我是threeslot

>

>

我是尾部footer

>

div>

template

>

上面**給每個 slot 設定了 name 屬性,然後給 span 標籤設定了 slot=「one」 這時候就插入到了第乙個插槽裡面,頁面顯示如下:

我是頭部

我是插入進來的 我是two 我是three

我是尾部

這就是具名插槽,可以插入指定的插槽。

我要吐槽一下:這一塊官方文件講的太模糊,語言很凝練,**也不全,看的人雲裡霧裡,菜鳥教程的 vue 倒適合新手入門,**很全,但是內容不全,你們就不能互相學習一下嗎。

進入正題:如果想把子元件的資料渲染出來,但又不想給父元件傳值,則可以在子元件的 slot 標籤上繫結資料,然後通過父元件渲染。例如我想讓子元件的陣列渲染出來,則用下面**:

注意:下面操作是在基於 vue-cli 搭建的 vue 專案中進行的,不懂的點這裡使用 vue-lic3 建立 vue 專案

// 子元件部分 son.vue(要是官方文件能寫的和我的一樣認真就好了)

>

>

:todo

="todo"

>

slot

>

div>

template

>

>

export

default},

components:

}script

>

// 父元件部分 father.vue

>

>

>

slot-scope

="todo"

>

>

v-for

="item in todo"

>

}li>

ul>

template

>

son>

div>

template

>

>

import son from

'./son.vue'

export

default

}script

>

在父元件建立 template 標籤,然後使用 slot-scope 特性從子元件獲取資料。

頁面顯示結果如下:

[ 10, 20, 30, 40, 50, 60, 70 ]

為什麼這種繫結資料的插槽叫作用域插槽,因為雖然資料看起來在父元件渲染了,其實並不是,父元件只是告訴子元件如何渲染而已,最終資料還是在子元件作用域渲染的,因為資料在 son 標籤裡面。在父元件無法拿到並使用這個資料,這也證明了資料是在子元件作用域的。

vue 計算屬性最通用的講解 簡單 易懂

1.vue計算屬性,computed 官網概念 模板內的表示式非常便利,但是設計它們的初衷是用於簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護.這句話看似簡單,並且配上了乙個十分簡單的demo,導致很多同學在使用computed的時候,並沒有真正的領會到,計算屬性的執行原理與過程。1.第乙...

最簡單易懂的raid

特點 平行儲存,將資料都分到每個硬碟裡面,一塊硬碟的損壞都會導致資料的不完整,不可用 磁碟數量 1塊或者n塊 磁碟容量 一共磁碟的總和 優點 讀寫效能比較高 缺點 無冗餘與備份,安全性比較低 應用環境 安全性要求不高的地方,比如圖形工作站 特點 映象儲存,就是將每乙個磁碟都寫入相同的資料,以保證使用...

vue插槽樣式 Vue的插槽的簡單介紹以及示例

vue插槽的概念 vue的插槽,是一種內容分發機制,但是我感覺它更加像元件的一種佔位符的概念,通過插槽,等待元件外部傳入複雜的內容。使用插槽的好處 在以前的例子中todo item插槽直接寫在了todo list插槽中,其實是比較不合理的,它會導致todo list插槽比較死板,無法重用更多的其他元...