Nuxt 应用钩子
使用 Nuxt 应用钩子来扩展 Nuxt 脚本的运行时行为。
scripts:updated
- 类型:
async (ctx: { scripts: ScriptRegistry }) => HookResult
在脚本状态更新后触发。
此钩子在内部用于开发工具,但你也可以根据需要使用它。
plugins/nuxt-scripts.ts
export default defineNuxtPlugin({
setup() {
useNuxtApp().hooks.hook('scripts:updated', (ctx) => {
console.log('Scripts updated', ctx.scripts)
})
}
})
script:instance-fn
- 类型:
(ctx: { script: ScriptInstance<any>, fn: string | symbol, args: any, exists: boolean }) => HookResult
此钩子仅由 Unhead 暴露,在通过代理实例访问属性时触发。
这同样在内部用于开发工具,但你也可以根据需要使用它。
export default defineNuxtPlugin({
setup() {
const head = injectHead()
head.hooks.hook('script:instance-fn', ({ fn, args }) => {
console.log('Function called:', ctx)
})
const { proxy } = useScript()
proxy.doSomething() // Function called: doSomething
}
})