插槽 solt
- 单个插槽solt
- solt标签通过在组件模板中识别组件的起始标签和结束标签之间的内容
- 插槽内可以包含任何模板代码,包括 HTML 甚至其它的组件
- 具名插槽
- 有时我们需要多个插槽。例如对于一个带有如下模板的 组件
<div class="container">
<header>
<!-- 我们希望把页头放这里 -->
</header>
<main>
<!-- 我们希望把主要内容放这里 -->
</main>
<footer>
<!-- 我们希望把页脚放这里 -->
</footer>
</div>
对于这样的情况, 元素有一个特殊的特性:name。这个特性可以用来定义额外的插槽:
<div class="container">
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div>
-
一个不带 name 的
<slot>出口会带有隐含的名字“default”。 -
在向具名插槽提供内容的时候,我们可以在一个
<template>元素上使用 v-slot 指令,并以 v-slot 的参数的形式提供其名称:
<base-layout>
<template v-slot:header>
<h1>Here might be a page title</h1>
</template>
<p>A paragraph for the main content.</p>
<p>And another one.</p>
<template v-slot:footer>
<p>Here's some contact info</p>
</template>
</base-layout>
现在 <template> 元素中的所有内容都将会被传入相应的插槽。任何没有被包裹在带有 v-slot 的 <template>中的内容都会被视为默认插槽的内容。
- 然而,如果你希望更明确一些,仍然可以在一个
<template>中包裹默认插槽的内容:
<base-layout>
<template v-slot:header>
<h1>Here might be a page title</h1>
</template>
<template v-slot:default>
<p>A paragraph for the main content.</p>
<p>And another one.</p>
</template>
<template v-slot:footer>
<p>Here's some contact info</p>
</template>
</base-layout>
渲染结果:
<div class="container">
<header>
<h1>Here might be a page title</h1>
</header>
<main>
<p>A paragraph for the main content.</p>
<p>And another one.</p>
</main>
<footer>
<p>Here's some contact info</p>
</footer>
</div>
- 注意v-slot 只能添加在一个
<template>上
本文介绍了Vue中插槽(solt)的相关知识。单个插槽可识别组件起始与结束标签间的内容,插槽内可包含多种模板代码。还提到具名插槽,当需要多个插槽时,可利用name特性定义额外插槽,v - slot指令可向具名插槽提供内容,且v - slot只能添加在特定元素上。
134

被折叠的 条评论
为什么被折叠?



