# Runtime API {#runtime-api} VitePress предлагает несколько встроенных API, позволяющих получить доступ к данным приложения. VitePress также поставляется с несколькими встроенными компонентами, которые можно использовать глобально. Вспомогательные методы глобально импортируются из `vitepress` и обычно используются в компонентах Vue для пользовательских тем. Однако их можно использовать и внутри страниц `.md`, так как файлы markdown компилируются в [однофайловые компоненты](https://ru.vuejs.org/guide/scaling-up/sfc.html) Vue. Методы, начинающиеся с `use*`, указывают на то, что это функция [Vue 3 Composition API](https://ru.vuejs.org/guide/introduction.html#composition-api) («композабл»), которая может быть использована только внутри `setup()` или ` ``` ## `useRoute` {#useroute} Возвращает текущий объект маршрута со следующим типом: ```ts interface Route { path: string data: PageData component: Component | null } ``` ## `useRouter` {#userouter} Возвращает экземпляр маршрутизатора VitePress, чтобы вы могли программно перейти на другую страницу. ```ts interface Router { /** * Текущий маршрут. */ route: Route /** * Переход к новому URL-адресу. */ go: (to?: string) => Promise /** * Вызывается перед изменением маршрута. Верните `false`, чтобы отменить навигацию. */ onBeforeRouteChange?: (to: string) => Awaitable /** * Вызывается перед загрузкой компонента страницы (после того, как состояние истории * обновлено). Верните `false`, чтобы отменить навигацию. */ onBeforePageLoad?: (to: string) => Awaitable /** * Вызывается после изменения маршрута. */ onAfterRouteChanged?: (to: string) => Awaitable } ``` ## `withBase` {#withbase} - **Тип**: `(path: string) => string` Добавляет настроенный [`base`](./site-config#base) к заданному URL-пути. Также смотрите секцию [Базовый URL](../guide/asset-handling#base-url). ## `` {#content} Компонент `` отображает отрисованное содержимое Markdown. Полезно [при создании собственной темы](../guide/custom-theme). ```vue ``` ## `` {#clientonly} Компонент `` отображает свой слот только на стороне клиента. Поскольку приложения VitePress при генерации статических сборок рендерятся в Node.js, любое использование Vue должно соответствовать универсальным требованиям к коду. Короче говоря, убедитесь, что доступ к API Browser / DOM осуществляется только в хуках `beforeMount` или `mounted`. Если вы используете или демонстрируете компоненты, которые не являются SSR-дружественными (например, содержат пользовательские директивы), вы можете обернуть их внутри компонента `ClientOnly`. ```vue-html ``` - См. также: [Совместимость с SSR](../guide/ssr-compat) ## `$frontmatter` {#frontmatter} Прямой доступ к [метаданным](../guide/frontmatter) текущей страницы в выражениях Vue. ```md --- title: Привет --- # {{ $frontmatter.title }} ``` ## `$params` {#params} Прямой доступ к параметрам [динамических маршрутов](../guide/routing#dynamic-routes) текущей страницы в выражениях Vue. ```md - имя пакета: {{ $params.pkg }} - версия: {{ $params.version }} ```