Axios 和 Angular

Axios and Angular

试图弄清楚如何在 Angular cli、基础脚手架中导入和使用 axios。

我没有找到这方面的任何文档。

我找到了这个 https://netbasal.com/angular-2-use-your-own-http-library-b45e51b3525e

他的建议不适用。 Cli 在添加他的任何代码位时中断。

是否了解如何在 Angular 中进行基本 post api 调用?

我得到的最好的是(angular 原生方法):

import { Component } from '@angular/core';
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

@Injectable()
export class AppComponent{
  title = 'prouuuut';
  posts = [];
  errors = [];
  constructor(private http: Http){
  }

  fetchAll(){
    this.http.get('https://api.github.com/repositories')
      .then(response => {
        this.posts = response.data.entry
      })
      .catch(e => {
        this.errors.push(e)
      })
  }
}

里面 app.component.ts 但我已经有 :

很可能使用 Axios 的具体 class 而不是 Angular 的 Http 具体 class 不是有效的方法,因为这些 class 中的每一个都有不同的界面。

你需要

  1. npm 安装@types/axios
  2. 像在 typescript 中导入任何其他第三方库一样导入 axios

注意推荐使用Angular的Http Client Module

来自 axios github 页面:

axios is heavily inspired by the $http service provided in Angular. Ultimately axios is an effort to provide a standalone $http-like service for use outside of Angular"

Angular 的 (Angular 2+) Http client 比 Angular JS 的 Http client 更强大,所以我不能 想出一个需要您进行此转换的原因