我有这样布局:
<template>
...navigation for all pages..
<h1>content for X??</h1>
<slot />
...footer for all pages...
</template>
对于页面/索引.vue:
<template>
index is here ok :)
</template>
和页面/关于.vue:
<template>
about is here ok :)
</template>
我希望我可以呈现h1在布局为不同的网页,而不是打印相同的文本为所有。
我知道我可以将h1从布局移动到页面并编辑每个页面。
但是h1和slot之间有很多内容,我只想更改文本。
1条答案
按热度按时间wqsoz72f1#
有很多方法可以达到你的要求,但最简单的方法是使用命名插槽。
在vue文档中(请花些时间深入研究,可用的deftail和解释数量非常可观):
<slot>
元素有一个特殊的属性name,它可用于为不同的插槽分配一个唯一的ID,以便您可以确定应该在哪里呈现内容。您可以在nuxt项目的
layouts
文件夹中创建一个TitleLayout.vue
组件,如下所示:您可以在
pages/About.vue
中使用它该过程记录在下一个布局文档中。