如何理解Vue.js的組件中的slot?

官方文檔中這一節看不明白,是否可以解釋一下?


其實我覺得 slot 有點類似面向對象思想中的「多態」。

舉個例子,比如我要實現一個這麼 Alert 組件:

它會有默認的內容和樣式,比如第一行的 Default 我們只需要使用

&&

當我們想要有 Success、Warning、Error 等不同樣式和不同內容的 alert 時,我們會希望這樣使用:

&
&Success!& Looks good to me!
&

&
&Warning!& Something not good.
&

&
&Error!& Oooops...
&

要實現這個功能,我們就會用到 slot

& .Alert__close {
font-weight: bold;
cursor: pointer;
}
.Alert--Success {
color: green;
}
.Alert--Warning {
color: #aa0;
}
.Alert--Error {
color: red;
}
&

&