【发布时间】:2018-11-02 02:59:40
【问题描述】:
我正在尝试使用 cryptocompar 的 API 来获取数据。
更新了更多细节并从代码中删除了 ngClass。 在test.ts中
// data from library page
coinsGroup = [];
datainfo: Observable<any>;
coins:any;
constructor(public navCtrl: NavController, public navParams: NavParams, public http: HttpClient)
{
}
ionViewDidLoad()
{
console.log('ionViewDidLoad TestPage');
this.coinsGroup = this.navParams.data;
}
getdetail(coin) {
this.datainfo = this.http.get("https://min-api.cryptocompare.com/data/pricemultifull?fsyms="+coin+"&tsyms=USD");
this.datainfo.map(res => res)
.subscribe(data => {
this.coins = data['DISPLAY'][coin]['USD']['PRICE']
console.log('my data: ', this.coins);
});
}
在 test.html 上
<span *ngIf="coinsGroup.symbol" class="bold1">
{{getDetail(coinsGroup.symbol)}}</span>
coinGroup 将从库页面获取符号,例如 ['BTC','ETH',..etc]
在 chrom 的控制台上,它会如下所示一直循环,直到浏览器崩溃。
当使用 subscribe() 和 map 时,会导致如上所示的无限循环,不知道为什么,以及如何解决这个问题?
【问题讨论】:
-
为什么在
ngClass中调用该函数?它应该在那里设置什么? -
为什么要调用
ngClass中的函数,有必要吗?它也不返回任何布尔值 -
我想在 html 中调用 getdetail() 函数,来获取 html 上的美元价格、高点、低点等数据。
标签: javascript angular typescript ionic3