2017-11-03 2 views
0

Versuchen herauszufinden, wie man einen Axios importieren und in einem Angular cli, Basisgerüst verwenden kann.Axios und Angular

Ich habe keine Dokumente dafür gefunden.

Ich fand diese https://netbasal.com/angular-2-use-your-own-http-library-b45e51b3525e

, was er gilt nicht vermuten lässt. Der Cli bricht beim Hinzufügen irgendwelcher seiner Codebits ab.

Jeder Einblick, wie man einen grundlegenden post api Anruf in Angular macht?

beste, das ich bekam (der Winkel nativen Ansatz):

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) 
     }) 
    } 
} 

innen app.component.ts aber ich habe schon:

enter image description here

+0

Sie sollten Axios als jede andere Drittanbieter-Bibliothek importieren, mit "importieren". Der im Artikel beschriebene Ansatz ist Unsinn, nur weil "Http" spezifische Klasse ist und es ist nicht Axios selbst. Auch wenn es möglich ist, es durch '{help: Http, useValue: axios}' 'zu ersetzen, macht es keinen Sinn und wird die Typprüfungen nicht bestehen. – estus

Antwort

2

Wahrscheinlich Axios die konkrete Klasse anstelle von Angulars Http Concrete-Klasse ist kein gültiger Ansatz, da jede dieser Klassen eine andere Schnittstelle haben würde.

Sie müssen

  1. npm installieren @ Typen/axios
  2. Import axios wie jede andere Drittanbieter-Bibliothek in Typoskript

Hinweis importieren, die sie verwenden wird empfohlen Angular des Http Kundenmodul

Von axios github Seite:

axios ist stark vom http-Service von Angular inspiriert. Letztlich ist axios ein Versuch, einen eigenständigen $ http-like Service für außerhalb von Angular“Verwendung zur Verfügung zu stellen

Angular des (Angular 2+) Http Client ist mächtiger als Angular JS des Http-Client, kann ich so nicht denken Sie an einen Grund, dass Sie diesen Schalter machen müssen