Vue3里常规挂载方法/属性以及调用

在Vue3的开发过程中,难免会在全局挂载方法或者属性。

挂载:

// main.ts
import App from './App.vue'
import _ from 'lodash'
const app = Vue.createApp(App)
app.config.globalProperties._debounce = _.debounce

使用:

// App.vue
setup({
	const instance = getCurrentInstance()
	instance.ctx._debounce(func, delay,)
})

上述使用会出现的问题

上面的使用方法在开发模式下是完全ok的,一旦将代码打包部署上线后,就会报错
原因是在开发模式和生产模式下的生成的instance实例不一样。

让我们打印 console.log(getCurrentInstance())看看

区别

开发环境下
生成环境下

所以为什么报错就很明显,接下来就是找到一个可替代属性,我去看了一下官网描述。解决办法就出来了。

解决办法

instance.ctx替换成 instance.appContext.config.globalProperties

Logo

前往低代码交流专区

更多推荐