mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-26 15:42:09 +00:00
f26a801775
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev>
55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
---
|
|
title: "NuxtApp"
|
|
description: "In Nuxt 3, you can access runtime app context within composables, components and plugins."
|
|
links:
|
|
- label: Source
|
|
icon: i-simple-icons-github
|
|
to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/nuxt.ts
|
|
---
|
|
|
|
In Nuxt 3, you can access runtime app context within composables, components and plugins.
|
|
|
|
::read-more{to="https://v2.nuxt.com/docs/internals-glossary/context#the-context" target="_blank"}
|
|
In Nuxt 2, this was referred to as **Nuxt context**.
|
|
::
|
|
|
|
## Nuxt App Interface
|
|
|
|
::read-more{to="/docs/guide/going-further/internals#the-nuxtapp-interface"}
|
|
Jump over the `NuxtApp` interface documentation.
|
|
::
|
|
|
|
## Accessing NuxtApp
|
|
|
|
Within composables, plugins and components you can access `nuxtApp` with [`useNuxtApp()`](/docs/api/composables/use-nuxt-app):
|
|
|
|
```ts [composables/useMyComposable.ts]
|
|
export function useMyComposable () {
|
|
const nuxtApp = useNuxtApp()
|
|
// access runtime nuxt app instance
|
|
}
|
|
```
|
|
|
|
Plugins also receive `nuxtApp` as the first argument for convenience.
|
|
|
|
:read-more{to="/docs/guide/directory-structure/plugins"}
|
|
|
|
## Providing Helpers
|
|
|
|
You can provide helpers to be usable across all composables and application. This usually happens within a Nuxt plugin.
|
|
|
|
```ts
|
|
const nuxtApp = useNuxtApp()
|
|
nuxtApp.provide('hello', (name) => `Hello ${name}!`)
|
|
|
|
console.log(nuxtApp.$hello('name')) // Prints "Hello name!"
|
|
```
|
|
|
|
::read-more{to="/docs/guide/directory-structure/plugins#providing-helpers"}
|
|
It is possible to inject helpers by returning an object with a `provide` key in plugins.
|
|
::
|
|
|
|
::read-more{to="https://v2.nuxt.com/docs/directory-structure/plugins#inject-in-root--context" target="_blank"}
|
|
In Nuxt 2 plugins, this was referred to as **inject function**.
|
|
::
|