Vue3里面全局配置

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的方法,所以就单独写了一下记录,希望有大佬能解释一下。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值