<ContentNavigation>
Building complex navigation from your content has never been easier.
The <ContentNavigation>
is a renderless component shortening the access to the navigation.
Props
query
: A query to be passed tofetchContentNavigation()
.- Type:
QueryBuilderParams | QueryBuilder
- Default:
undefined
- Type:
Slots
The default
slot can be used to render the content with v-slot="{ navigation }"
syntax.
components/Navbar.vue
<template> <nav> <ContentNavigation v-slot="{ navigation }"> <ul> <li v-for="link of navigation" :key="link._path"> <NuxtLink :to="link._path">{{ link.title }}</NuxtLink> </li> </ul> </ContentNavigation> </nav></template>
Query
By providing the query
prop you can customise the content used for navigation.
Here we pass along a QueryBuilder
instance.
<script setup>const catsQuery = queryContent('cats')/*// If you'd prefer to pass along raw `QueryBuilderParams`:const catsQuery = { where: [ { _path: /^\/cats/ }, ],}*/</script><template><ContentNavigation v-slot="{ navigation }" :query="catsQuery"> <NuxtLink v-for="link of navigation" :key="link._path" :to="link._path" > {{ link.navTitle || link.title }} </NuxtLink></ContentNavigation></template>