Как использовать axios в Vue (Typescript)? - PullRequest
0 голосов
/ 28 августа 2018

Я бы хотел использовать axios в vue (Typescript), но у меня возникли проблемы с моим кодом. Это мой main.ts

import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = 'http://192.168.1.225:8088'

и это мой код Vue скриншот здесь

Это первый раз, когда я использую машинопись, прежде чем я использовал ее по-другому в javaScript, и у меня не было никаких проблем, так как я могу использовать ее в TypeScript?

Спасибо за ваше время и решение.

Ответы [ 4 ]

0 голосов
/ 23 мая 2019

Я делаю это и отлично работаю на main.ts

import Vue from 'vue';
import axios, { AxiosStatic } from 'axios';

axios.defaults.baseURL = 'http://192.168.1.225:8088';
Vue.prototype.$axios = axios;
declare module 'vue/types/vue' {
  interface Vue {
    $axios: AxiosStatic;
  }
}
0 голосов
/ 28 августа 2018

Одним из быстрых и грязных решений было бы установить для вашего объекта Vue любой тип. TypeScript сообщает, что он не распознает свойство $ axios объекта Vue.

Когда вы говорите TypeScript, что объектом Vue может быть что угодно, вам разрешается добавлять любые свойства, которые вы хотите.

const app : any = new Vue({})
0 голосов
/ 29 августа 2018

В машинописном тексте мы можем использовать расширение модуля. https://vuejs.org/v2/guide/typescript.html#%E5%A2%9E%E5%BC%BA%E7%B1%BB%E5%9E%8B%E4%BB%A5%E9%85%8D%E5%90%88%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8

declare module 'vue/types/vue' {
interface Vue {
}}
0 голосов
/ 28 августа 2018

Вы уверены, что используете POST-запрос? Это похоже на запрос GET из-за 'GetTreeTenant', и вы можете использовать только axios вместо $ axios.

let uri = '<url here>';
  this.axios.post(uri, data).then((response) => {
    console.log(response);
});
...