vue3 的全局对象必须是一个函数吗?


import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
const vm = createApp()
let c=()=>{
    console.log(1)
};
vm.config.globalProperties.$http =c;
// vm.config.globalProperties.$http ={}; 在对象里写函数,这样不行吗?
阅读 2.3k
3 个回答
vm.config.globalProperties.$http =()=>{
    console.log(1)
};

是这个样子的,但是一般非必要情况不推荐向原型上挂在内容。因为在使用的时候会有一个查找的过程。
不如直接一点哪里用到在哪里通过import引入

看 vue3 的文档并没有相关限制,是可以添加任意 数据类型格式 的属性的

image.png

经过验证,是可以的

app.config.globalProperties.test = {
    name: 'test'
};

defineComponent({
    name: 'Test',
    mounted() {
        console.log(this.test);
    }
})

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题