diff --git a/packages/bridge/src/runtime/app.plugin.mjs b/packages/bridge/src/runtime/app.plugin.mjs index 5640d412b5..6c9f22c4a2 100644 --- a/packages/bridge/src/runtime/app.plugin.mjs +++ b/packages/bridge/src/runtime/app.plugin.mjs @@ -14,7 +14,7 @@ export default (ctx, inject) => { mount: () => { }, provide: inject, unmount: () => { }, - use(vuePlugin) { + use (vuePlugin) { vuePlugin.install(this) }, version: Vue.version @@ -42,7 +42,16 @@ export default (ctx, inject) => { nuxtApp.vue2App = this }) - setNuxtAppInstance(nuxtApp) + const proxiedApp = new Proxy(nuxtApp, { + get (target, prop) { + if (prop[0] === '$') { + return target.nuxt2Context[prop] || target.vue2App?.[prop] + } + return Reflect.get(target, prop) + } + }) - inject('_nuxtApp', nuxtApp) + setNuxtAppInstance(proxiedApp) + + inject('_nuxtApp', proxiedApp) }