Update ru/reference/default-theme-nav.md

pull/4024/head
Bugo 2 years ago
parent cb5a5f5826
commit 2e7d2f91b3

@ -160,3 +160,57 @@ export default {
## Социальные ссылки {#social-links}
См. [`socialLinks`](./default-theme-config#sociallinks).
## Пользовательские компоненты
Вы можете добавить пользовательские компоненты в панель навигации с помощью опции `component`. Ключ `component` должен быть именем компонента Vue и должен быть зарегистрирован глобально с помощью [Theme.enhanceApp](../guide/custom-theme#theme-interface).
```js
// .vitepress/config.js
export default {
themeConfig: {
nav: [
{
text: 'Мое меню',
items: [
{
component: 'MyCustomComponent',
// Необязательные параметры для передачи компоненту
props: {
title: 'Мой пользовательский компонент'
}
}
]
},
{
component: 'AnotherCustomComponent'
}
]
}
}
```
Затем необходимо зарегистрировать компонент глобально:
```js
// .vitepress/theme/index.js
import DefaultTheme from 'vitepress/theme'
import MyCustomComponent from './components/MyCustomComponent.vue'
import AnotherCustomComponent from './components/AnotherCustomComponent.vue'
/** @type {import('vitepress').Theme} */
export default {
extends: DefaultTheme,
enhanceApp({ app }) {
app.component('MyCustomComponent', MyCustomComponent)
app.component('AnotherCustomComponent', AnotherCustomComponent)
}
}
```
Ваш компонент будет отображаться на панели навигации. VitePress предоставляет следующие дополнительные параметры компонента:
- `screenMenu`: необязательное булево значение, указывающее, находится ли компонент внутри мобильного навигационного меню
Пример можно посмотреть в тестах e2e [здесь](https://github.com/vuejs/vitepress/tree/main/__tests__/e2e/.vitepress).
Loading…
Cancel
Save