使用命名插槽
命名的插槽與單個插槽的工作方式類似,但允許你將內容分發到子元件模板中的不同區域。
從前面的示例中獲取 page
元件,但修改它的模板,如下所示:
<html>
<head>
<title>Page Title</title>
</head>
<body>
<aside>
<slot name="sidebar"></slot>
</aside>
<main>
<slot name="content"></slot>
</main>
</body>
</html>
使用 page
元件時,我們現在可以通過 slot
屬性確定放置內容的位置:
<page>
<p slot="sidebar">This is sidebar content.</p>
<article slot="content"></article>
</page>
結果頁面將是:
<html>
<head>
<title>Page Title</title>
</head>
<body>
<aside>
<p>This is sidebar content.</p>
</aside>
<main>
<article></article>
</main>
</body>
</html>
如果定義了 slot
而沒有 name
屬性,則放置在未指定 slot
屬性的元件標記內的任何內容將被放置到該槽中。
請參閱 Vue.js 官方文件中的多插入示例。