2017-11-03 15 views
0

Angular cliベース足場でAxiosのインポートと使用を行う方法を理解しようとしています。AxiosとAngular

私はこれに関するドキュメントを見つけられませんでした。

私は彼が何を示唆することは適用されません。この https://netbasal.com/angular-2-use-your-own-http-library-b45e51b3525e

を見つけました。 Cliは彼のコードビットのいずれかを追加することで壊れます。

Angularで基本的なポストAPI呼び出しを行う方法についての洞察はありますか?私が得た最高の

は(角ネイティブアプローチ)である:app.component.ts内部

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

が、私は既に持っている:

enter image description here

おそらくAxiosの具象クラスを使用して代わりに
+0

Axiosを他のサードパーティライブラリと同じようにimportする必要があります。この記事で説明しているアプローチはナイスセンスですが、 'Http'は特定のクラスそれはAxiosではありません。 '{provide:Http、useValue:axios} 'と置き換えることは可能ですが、意味をなさないので型チェックに失敗します。 – estus

答えて

2

AngularのHttp具象クラスは、これらのクラスのそれぞれが異なるインタフェースを持つため、有効なアプローチではありません。

あなたがタイプ/ axios
  • 輸入axios @へ

    1. NPMをインストールする必要

      あなたはtypescriptです

    2. に他のサードパーティのライブラリをインポートとして

    角度のHTTPを使用することが推奨されていることを注意クライアントモジュール

    からaxios githubページ:

    axiosはAngularで提供されている$ httpサービスに大きな影響を受けています。 最終的axios クライアントは角JSのHTTPクライアントよりも強力ですので、私はできなかったのHttp角度の(角2+)

    「角度の外での使用のためのスタンドアロン$ HTTPのような サービスを提供するための努力であります このスイッチを作成する必要がある理由を考えてください