gpt4 book ai didi

javascript - NuxtJS|在 header 组件中加载组件

转载 作者:行者123 更新时间:2023-11-30 14:19:06 25 4
gpt4 key购买 nike

我目前正忙于创建 NuxtJS 应用程序。在此应用程序中,我有一个 header , header 组件按预期工作。但我想为我的子页面添加一个功能。 header 始终具有相同的样式,但内容应该不同。我如何才能根据页面在我的页眉组件中加载正确的内容组件?比如像这样我的nuxtjs结构如下:

页面/index.vue:

<template>
<div>
<Header/>
</div>
</template>

<script>
import Header from '~/components/Header.vue';

export default {
components: {
Header
}
}
</script>

`这应该加载我的 header.vue 与主页的内容所以例如我的/components/header.vue 应该看起来像这样:

<template>
<div>
<header class="hero is-fullheight">
<div class="hero-head has-background-white">
<Menu />
</div>
<div class="hero-body">
<div class="container fluid">
<HomepageContent />
</div>
</div>
</header>
</div>
</template>

<script>
import Menu from '~/components/header/Menu.vue';
import HomepageContent from '~/components/header/HomepageContent.vue';

export default {
components: {
Menu,
HomepageContent
}
}
</script>

<style lang="scss" scoped>
.hero {
background-size:cover;
position:relative;
}
</style>

如您所见,它应该加载组件 homepageContent。但是当我从子页面加载 header.vue 时,例如“关于我”,它应该加载组件 AboutMeContent.vue

我已经研究这个问题几个小时了,但找不到有用的解决方案。这里有人可以帮助我吗?

谢谢。

最佳答案

您正在寻找插槽。可以找到文档here

例子

<div class="container">
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div>

<base-layout>
<template 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 slot="footer">
<p>Here's some contact info</p>
</template>
</base-layout>

关于javascript - NuxtJS|在 header 组件中加载组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53043013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com