hpd1308 2024-10-08 14:41 采纳率: 11.1%
浏览 22

vue3+typescript+axios全局引用报错

Vue3+typescript+axios在main.ts中导入封装的axios文件http.ts,在App.vue中使用时报main.ts:9 Uncaught TypeError: Cannot set properties of undefined (setting '$http'),直接在App.vue中导入http.ts是对的


```typescript
main.ts中代码:

import './assets/main.css'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import { createApp } from 'vue'
import App from './App.vue'
import http from './assets/http'
const app = createApp(App)
app.use(ElementPlus)
app.config.globalproperties.$http = http;
app.mount('#app')

App.vue中使用
import { ref } from 'vue'
// import $http from './assets/http'
const userForm = ref({
  "userno":'',
  "username":'',
  "pawd":''
})
const  subLogin= ()=> {
  this.$http.post('pub/json',{"websrvinfo":{"cmdtype":"req"}}).then(response => {
    console.log(response);
  }).catch(error => {
    console.error(error);
  });
}

tsconfig.json中的compilerOptions下的"types": ["axios"]已设置
```

  • 写回答

3条回答 默认 最新

  • ctrl+c程序猿 2024-10-08 14:50
    关注

    尝试用this.$http来访问全局属性

    评论

报告相同问题?

问题事件

  • 创建了问题 10月8日