Vue3里面全局配置
= =其实这个问题很早之前就遇到了,但是当时并没有解决,然后就放在
js
文件里面引入就不了了之了,今天去csdn
博客上晨爱衿文老哥回答了我于是我又玩了下。
一般网上的教程
//在main.js中注册你想注册的东西比如:
app.config.globalProperties.hello = ()=>{
console.log("hello,world");
}
//然后在vue文件中通过getCurrentInstance解构出ctx进行获取比如:
import { getCurrentInstance } from "vue";
//在setup中这样写
setup() {
let {ctx} = getCurrentInstance()
ctx2.hello()
return{
}
}
//这样就能在打印出hello,world,
但是在开发环境中确实是这样没错,一旦
build
之后崩了找不到hello
方法!,于是便打印出开发环境中和生产环境中ctx
的不同
生产环境
开发环境
我们发现ctx被改变了,难怪找不到!
大佬提供的方法
//还是在main.js中注册你想注册的东西比如:
app.config.globalProperties.hello = ()=>{
console.log("hello,world");
}
//然后在vue文件中通过getCurrentInstance解构出appContext进行获取比如:
let {appContext} = getCurrentInstance()
let {hello} = appContext.config.globalProperties
hello()
//这样在开发环境下和生产环境下都打印出了hello,world
虽然并不知道解决原理,但是这样确实是可行的,本来想记录在工作记录2的,但是网上搜了好多方法还是ctx的方法,所以就单独写了一下记录,希望有大佬能解释一下。