Vue進階(幺貳柒):Vue插槽

      網友投稿 661 2025-04-02

      概述


      插槽就是子組件中用slot標簽定義的預留位置,可以設置name屬性,也可以不設置name屬性,設置name的叫具名插槽,不設置name的的叫不具名插槽,在父組件中使用子組件時候可以在使用子組件的標簽內通過聲明插槽名或不聲明插槽名的方式往子組件中的具名插槽或者不具名插槽寫入html代碼。

      插槽使用的關鍵在于:在父組件中使用子組件標簽的時候可以往子組件內寫入html代碼。

      使用步驟

      子組件中定義插槽

      父組件使用子組件時往插槽寫入代碼

      何時使用插槽?

      簡單的舉個栗子:有2個組件,父組件father,子組件son。

      父組件 father

      1

      2

      3

      4

      5

      6

      子組件 son

      1

      2

      3

      4

      5

      6

      一般我們的組件都會怎么寫,但是這么寫的話,會發現子組件中的實踐slot是顯示不出來的。如果需要讓他顯示出來,這時我們就可以用到插槽slot了。

      如何使用插槽?

      首先,子組件中我們要添加插槽slot,

      1

      2

      3

      4

      5

      6

      7

      這時,終于出現了slot。slot的位置就會出現父組件中實踐slot這幾個大字。

      可以看到,這里面slot是沒有名稱的,顧名思義,這是插槽中的不具名插槽。

      然后再看看具名插槽,直接上代碼。

      父組件

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      子組件

      1

      2

      3

      4

      5

      6

      7

      8

      可以看出,和默認插槽不同的是,在子組件中,我們給插槽一個name屬性,這個就是插槽的名稱,同時在父組件中,我們在需要將內容插入的地方標簽上加了一個slot屬性,他的值就是我們的slot 名稱name。

      接下來看下slot-scope。slot-scope是作用域插槽。

      官網中有一句特別強調的話:父組件模板的所有內容都會在父級作用域內編譯;子組件模板的所有內容都會在子級作用域內編譯。簡單的說,就是父組件中不能直接用子組件中定義的data數據。而slot-scope的出現就是解決了這樣的問題。

      父組件

      1

      Vue進階(幺貳柒):Vue插槽

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      子組件

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      其中,下方三個對象的值,我們本身是在子組件中定義的,按照官方文檔中說的,本來父組件中是無法顯示出來這些數據的,但是為什么現在顯示出來了呢?這就要歸功于我們強大的slot-scope了。

      首先,在子組件中的插槽上有一句data="list",而在父組件中也有slot-scope="scope",slot-scope就是取data的值,slot-scope的值是自定義的,我們可以取任何名稱,但是data的值傳過來時是以對象形式傳輸的,所以在這scope.data才是list的值。

      這樣我們就可以在父組件中取到子組件的值,并且加以應用了。

      從vue2.6.0開始,slot、slot-scope已經被廢棄,推薦使用v-slot;有關兩者的用法區別,請移步博文《Vue進階(幺貳捌):Vue插槽:slot、slot-scope與指令v-slot使用方法區別講解》。

      Vue

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:十步法原則解決數據質量問題
      下一篇:企業生產管理軟件,提高效率
      相關文章
      国产亚洲精品一品区99热| 中文字幕亚洲无线码a| 亚洲av丰满熟妇在线播放| 国产亚洲精品久久久久秋霞 | 日批日出水久久亚洲精品tv| 亚洲精品无码av片| 亚洲日韩精品国产一区二区三区| 亚洲首页国产精品丝袜| 在线观看日本亚洲一区| 亚洲一区二区三区国产精华液 | 亚洲日本中文字幕天堂网| 亚洲人成网站观看在线播放| 精品国产人成亚洲区| 自拍偷自拍亚洲精品被多人伦好爽| 久久青青草原亚洲av无码| 亚洲日韩欧洲乱码AV夜夜摸| 亚洲精品亚洲人成在线观看| 亚洲精品无码AV人在线播放| 亚洲国产AV无码专区亚洲AV| 亚洲人成电影亚洲人成9999网| 无码专区—VA亚洲V天堂| 亚洲视频小说图片| 亚洲人成毛片线播放| 亚洲AV无码乱码麻豆精品国产| 亚洲黄色激情视频| 亚洲av永久无码天堂网| 另类专区另类专区亚洲| 亚洲一级片免费看| 亚洲婷婷五月综合狠狠爱| 亚洲AV无码专区亚洲AV伊甸园| 亚洲精品高清视频| 亚洲另类精品xxxx人妖| 亚洲日韩中文字幕一区| 国产亚洲精品美女| 亚洲精品成人片在线观看| 亚洲欧洲日产国码av系列天堂 | 亚洲AV日韩AV无码污污网站 | 亚洲人和日本人jizz| 亚洲色欲色欲www在线播放| 激情婷婷成人亚洲综合| 国产国拍亚洲精品福利|