vue slot 與 slot-scope

demo請參考 這篇文章
本文是參考一些文章之后的整理。

插槽是一種模板,從模板角度來講,模板可以分為插槽和非插槽

非插槽

  • html 模板,eg:div,span, ul , table
  • 顯示,隱藏,如何顯示均由組件自身控制。

插槽

  • 顯示,有隱藏,以及用什么樣的html顯示由父組件控制
  • 但是,插槽顯示的位置,卻由子組件自身決定。
    • Slot寫在什么位置,那么父組件傳過來的html就顯示在什么位置。

插槽的分類

單個插槽 | 默認插槽 | 匿名插槽

  • 一個組件只能有一個匿名插槽
  • 顧名思義,該插槽沒有提供插槽的name屬性。這是和具名插槽最大的區(qū)別

具名插槽

  • 一個組件可以有多個具名插槽

作用域插槽 | 帶數(shù)據(jù)插槽

  • 這種插槽和前面兩種的區(qū)別:數(shù)據(jù)由誰提供。
    • 默認插槽和具名插槽的數(shù)據(jù)都是由父組件提供的
    • 作用域插槽的數(shù)據(jù)是其本身提供的。
  • 舉個例子
    • 我們在使用table的時候, el-table-column就相當于子組件,我們在column中定義 slot-scope = "{row}”,該row是個形參。在html中使用該row時,
      實際上是獲取了該行所有的屬性值,我們可以直接獲取row中的屬性進行操作。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容