vue3组合式API怎么获取全局变量globalProperties
设置全局变量 main.ts
app.config.globalProperties.$category = { index: 0 }
获取全局变量
const { appContext } = getCurrentInstance() as ComponentInternalInstance
console.log(appContext.config.globalProperties.$category)
或是
const { proxy } = getCurrentInstance() as ComponentInternalInstance
console.log(proxy?.$category)
第二种方法如果遇到 类型ComponentPublicInstance上不存在属性“$category”问题,解决办法就是添加一个 .d.ts声明文件,添加全局挂载属性:
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$category: object
}
}
还有一种方法小程序有globalData,这是一种简单的全局变量机制。这套机制在uni-app里也可以使用,并且全端通用。
首页 index.vue中设置值
getApp().globalData = { ll: 'sd' }
使用的页面中获取值
console.log(getApp().globalData)