# ランタイム API {#runtime-api}
VitePress には、アプリのデータへアクセスするための組み込み API がいくつか用意されています。さらに、グローバルに使用できる組み込みコンポーネントも提供されています。
ヘルパーメソッドは `vitepress` からグローバルインポートでき、主にカスタムテーマの Vue コンポーネントで使われます。Markdown ファイルは Vue の [Single File Component](https://vuejs.org/guide/scaling-up/sfc.html) にコンパイルされるため、`.md` ファイル内でも使用できます。
`use*` で始まるメソッドは [Vue 3 Composition API](https://vuejs.org/guide/introduction.html#composition-api) の関数(Composable)で、`setup()` または `
{{ theme.footer.copyright }}
```
## `useRoute`
現在のルートオブジェクトを返します。型は次のとおりです。
```ts
interface Route {
path: string
data: PageData
component: Component | null
}
```
## `useRouter`
VitePress のルーターインスタンスを返し、プログラムで別ページへ遷移できます。
```ts
interface Router {
/**
* 現在のルート
*/
route: Route
/**
* 新しい URL へ遷移
*/
go: (to?: string) => Promise
/**
* ルートが変わる前に呼ばれる。`false` を返すと遷移をキャンセル
*/
onBeforeRouteChange?: (to: string) => Awaitable
/**
* ページコンポーネントが読み込まれる前(履歴が更新された後)に呼ばれる。
* `false` を返すと遷移をキャンセル
*/
onBeforePageLoad?: (to: string) => Awaitable
/**
* ページコンポーネントが読み込まれた後(更新前)に呼ばれる
*/
onAfterPageLoad?: (to: string) => Awaitable
/**
* ルートが変わった後に呼ばれる
*/
onAfterRouteChange?: (to: string) => Awaitable
}
```
## `withBase`
- **型**: `(path: string) => string`
設定された [`base`](./site-config#base) を指定の URL パスに付与します。[Base URL](../guide/asset-handling#base-url) も参照。
## ``
レンダリング済みの Markdown コンテンツを表示します。[独自テーマの作成時](../guide/custom-theme) に便利です。
```vue
Custom Layout!
```
## ``
スロット内容をクライアント側でのみレンダリングします。
VitePress アプリは静的ビルド時に Node.js 上でサーバーレンダリングされるため、Vue の使用はユニバーサルコードの要件に従う必要があります。要するに、ブラウザ/DOM API へのアクセスは beforeMount / mounted フック内に限定してください。
SSR 非対応(例: カスタムディレクティブを含む)なコンポーネントを使用・デモする場合は、`ClientOnly` でラップできます。
```vue-html
```
- 関連: [SSR 互換性](../guide/ssr-compat)
## `$frontmatter`
Vue の式内で現在ページの [フロントマター](../guide/frontmatter) に直接アクセスします。
```md
---
title: Hello
---
# {{ $frontmatter.title }}
```
## `$params`
Vue の式内で現在ページの [動的ルートのパラメータ](../guide/routing#dynamic-routes) に直接アクセスします。
```md
- package name: {{ $params.pkg }}
- version: {{ $params.version }}
```