Javascript 如何在Vue3 Composition API上使用Vue2插件?
我正在迁移我的Vue2应用程序以使用Javascript 如何在Vue3 Composition API上使用Vue2插件?,javascript,vue.js,vuejs3,vue-composition-api,Javascript,Vue.js,Vuejs3,Vue Composition Api,我正在迁移我的Vue2应用程序以使用@vue/composition api(vue版本仍然是2而不是3) 在Vue2中,我使用像this.$session这样的插件,但是this在Vue3上不起作用。我找到的解决方案是这样使用: setup (props, context) { context.root.$session // works fine context.root.$anotherPlugin } 但是在Vue3上下文中,root已弃用,因此当我迁移到Vue3时,它将不再
@vue/composition api
(vue版本仍然是2而不是3)
在Vue2中,我使用像this.$session
这样的插件,但是this
在Vue3上不起作用。我找到的解决方案是这样使用:
setup (props, context) {
context.root.$session // works fine
context.root.$anotherPlugin
}
但是在Vue3上下文中,root
已弃用,因此当我迁移到Vue3时,它将不再工作
在setup()
中是否有其他方法可以访问Vue实例?我想如果我可以访问它,我可以在Vue3上正常使用这些插件。使用提供和注入
提供
const-app=createApp(app);
app.provide('someVarName',someVar);//提供给此处的所有组件
注入:
const { inject } = Vue;
...
setup() {
const someVar = inject('someVarName'); // injecting in a component that wants it
}
我这样做的方式是使用vue 2 composition api中也存在的
您可以这样使用它:
const instance = getCurrentInstance()
const session = instance.proxy.$session
const i18n = instance.proxy.$i18n
一种方法是从“Vue”导入Vue,只需使用Vue.session(不带美元符号)。