NuxtApp
No Nuxt, você pode acessar o contexto do aplicativo em tempo de execução dentro de composables, componentes e plugins.
No Nuxt, você pode acessar o contexto do aplicativo em tempo de execução dentro de composables, componentes e plugins.
Veja também v2.nuxt.com > docs > internals-glossary > contextInterface do Nuxt App
Veja também guide > going-further > internals#the-nuxtapp-interfaceO Contexto do Nuxt
Muitos composables e utilitários, tanto embutidos quanto criados por usuários, podem exigir acesso à instância do Nuxt. Isso não existe em toda a sua aplicação, pois uma nova instância é criada a cada solicitação.
Atualmente, o contexto do Nuxt é acessível apenas em plugins, hooks do Nuxt, middleware do Nuxt (se encapsulado em defineNuxtRouteMiddleware
), e funções de setup (em páginas e componentes).
Se um composable for chamado sem acesso ao contexto, você pode receber um erro indicando que 'Um composable que requer acesso à instância do Nuxt foi chamado fora de um plugin, hook do Nuxt, middleware do Nuxt ou função de setup do Vue.' Nesse caso, você também pode chamar explicitamente funções dentro deste contexto usando nuxtApp.runWithContext
.
Acessando NuxtApp
Dentro de composables, plugins e componentes, você pode acessar nuxtApp
com useNuxtApp()
:
export function useMyComposable () {
const nuxtApp = useNuxtApp()
// acessar a instância do aplicativo nuxt em tempo de execução
}
Se o seu composable não precisar sempre de nuxtApp
ou você simplesmente quiser verificar se ele está presente ou não, já que useNuxtApp
lança uma exceção, você pode usar tryUseNuxtApp
em vez disso.
Plugins também recebem nuxtApp
como o primeiro argumento para conveniência.
Fornecendo Helpers
Você pode fornecer helpers para serem usados em todos os composables e na aplicação. Isso geralmente acontece dentro de um plugin do Nuxt.
const nuxtApp = useNuxtApp()
nuxtApp.provide('hello', (name) => `Hello ${name}!`)
console.log(nuxtApp.$hello('name')) // Imprime "Hello name!"
Veja também guide > directory-structure > plugins#providing-helpers
Veja também v2.nuxt.com > docs > directory-structure > plugins※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/guide/going-further/nuxt-app