HttpClientモジュールでAPIを叩く
ビットコインの価格をリアルタイム表示する機能を実装する
# コンポーネントを作成する $ ng generate component bitcoin-sample
<app-routing.module.ts>
import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
~~~~
~~~~
import { BitcoinSampleComponent } from "./bitcoin-sample/bitcoin-sample.component"; //これを追加
const routes: Routes = [
{ path: "ngif", component: NgifSampleComponent },
~~~~
~~~~
{ path: "bitcoin-sample", component: BitcoinSampleComponent },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
export class AppRoutingModule {}
<app.module.ts>
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http'; //これを追加!
@NgModule({
imports: [
BrowserModule,
~~~~
~~~~
HttpClientModule, //これを追加!
],
declarations: [
AppComponent,
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
<bitcoin-sample.component.ts>
import { Component, OnInit, Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
class ApiData {
data: string;
}
@Injectable({ providedIn: "root" })
@Component({
selector: "app-bitcoin-sample",
templateUrl: "./bitcoin-sample.component.html",
styleUrls: ["./bitcoin-sample.component.css"],
})
export class BitcoinSampleComponent implements OnInit {
btcPrice: any = [];
constructor(private http: HttpClient) {}
ngOnInit() {
this.getBtcData();
setInterval(() => this.getBtcData(), 5000);
}
getBtcData() {
this.http
.get("https://public.bitbank.cc/btc_jpy/ticker")
.subscribe((result: ApiData) => {
this.btcPrice = result.data;
console.log(this.btcPrice);
});
}
}
<bitcoin-sample.component.html>
<p>現在のビットコイン価格は {{btcPrice.last }}円です</p>
「http://localhost:4200/bitcoin-sample」にアクセスすると以下のような画面が表示され5秒ごとにビットコインの最新価格を取得し、表示が切り替わります。

ソースコード:https://github.com/beginerSE/Angular-Demo/tree/master/angular-sample/src/app/bitcoin-sample


コメント