一、插槽 :slot
1、使用情況:當子組件在父組件中當標簽使用時,如果子組件內部需要進行嵌套一些代碼內容時,這時候就需要在子組件內插入插槽。
例子:父組件:
其中<home-com>標簽內是需要嵌套的代碼,若直接這樣寫是無法在頁面中顯示的,
<template> <div id="app"> <header-com></header-com> <home-com> <p>11</p> <p>222</p> <p>333</p> <h3 slot="box">小王</h3> <h3 slot="con">小皮</h3> <ul slot="list"> <li>aaaa</li> <li>bbbb</li> <li>cccc</li> <li>ddd</li> </ul> </home-com> </div> </template>
子組件:
<template> <div class="home content"> <slot name="box"></slot> home <slot></slot> <slot name="con"></slot> <slot name="list"></slot> </div> </template>
其中,給slot 標簽增加name屬性,並按照順序排序,會控制子組件標簽中的代碼內容的顯示順序。
瀏覽器顯示順序為:(截圖好麻煩,還得導入,直接上文字嘍。。。)
小王 home 11 222 333 小皮 aaaa bbbb cccc ddd
總結一波:在子組件中插入slot標簽,可以接收在父組件中子組件標簽內的所有內容。如果給子組件標簽內容中的內容增加slot屬性,並子組件中給slot增加name屬性,可以按照書寫順序排序。