javascript - 如何通过单击按钮显示从 api 获得的数据?
问题描述
我已经设法从 API 获取数据并在页面加载时将其显示在屏幕上,但我不知道如何通过单击按钮来显示它。我该怎么做呢?
这是我的 component.ts 文件
import { Component } from '@angular/core';
import {HttpClient} from '@angular/common/http'
import { map, catchError } from 'rxjs/operators';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'NewProjectAdnan';
private apiUrl = 'https://api.coindesk.com/v1/bpi/currentprice.json';
bitcoinData: any = {};
constructor (private http: HttpClient) {
console.log('hello fellow user!')
//this.getData();
//dthis.getContacts();
}
getData(){
var myHttpObservable = this.http.get( this.apiUrl );
return myHttpObservable.pipe(
map((bitcoinData) => {
return bitcoinData;
}))
}
getContacts(){
this.getData().subscribe(bitcoinData => {
console.log(bitcoinData);
this.bitcoinData=bitcoinData
})
}
}
这是我的 HTML 文件
<body>
<button >get bitcoin price</button>
<div id="myDiv"> The bitcoin rate for the date {{ bitcoinData.time.updated }} is {{ bitcoinData.bpi.USD.rate }}
{{ bitcoinData.bpi.USD.code }}. </div>
</body>
我在角度 8。
解决方案
将点击事件添加到您的按钮以调用您的 getData() 函数
<body>
<button (click)="getData()">get bitcoin price</button>
<div id="myDiv"> The bitcoin rate for the date {{ bitcoinData.time.updated }} is {{ bitcoinData.bpi.USD.rate }}
{{ bitcoinData.bpi.USD.code }}. </div>
</body>
推荐阅读
- laravel - Laravel 6:如何在没有密码的情况下在不同的 Laravel 应用程序中自动登录用户
- flutter - 如何重新激活 Play 控制台上的应用程序?
- python - 如何在我的程序中添加深色和浅色主题?
- java - 使用交换从骆驼路线返回文件内容
- r - 使用字符串作为 ipwtm 函数的公式?
- php - 我无法在 xampp 本地主机上访问 wordpress
- .htaccess - 使用 .htaccess 在 URL 中隐藏文件夹
- java - Hibernate Oracle12c Identity:神秘问题
- reactjs - 是否可以使用 React 和 TypeScript 将子级限制为特定组件?
- python - Django mptt,我可以删除默认的“名称”文件吗?