Angular 4 [对象对象]
我试着迭代数组,但是dom改为显示[object Object]。在其他线程中,有人建议使用Stringify,然后显示信息,但我无法迭代字符串。谢谢你的帮助。Angular 4 [对象对象]
这里是我的代码:
HTML
<div *ngFor="let price of prices">
{{prices}}
</div>
service.ts
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import {Observable} from "rxjs";
import 'rxjs/Rx';
import 'rxjs/add/operator/catch';
import { MarketViewModel } from '../comprarmonedas/datosmoneda'
@Injectable()
export class BittrexService {
constructor(private http: Http, private marketModel : MarketViewModel) { }
public getPrices() :Observable<MarketViewModel> {
return this.http.get('https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-zec')
.map((response: Response) => response.json());
}
}
interface
export class MarketViewModel {
public success : boolean;
public message : string;
public result : MarketListObject[];
}
export class MarketListObject {
public MarketName : string;
public High : number;
public Low : number;
public Volume : number;
public Last : number;
public BaseVolume : number;
public TimeStamp : number;
public Bid : number;
public Ask : number;
public OpenBuyOrders : number;
public OpenSellOrders : number;
public PrevDay : number;
public Created : number;
}
component.ts
import { Component, OnInit } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import { BittrexService } from '../../bittrex/bittrex.service';
import {Observable} from "rxjs";
@Component({
selector: 'app-comprarzec',
templateUrl: './comprarzec.component.html',
styleUrls: ['./comprarzec.component.scss']
})
export class ComprarzecComponent implements OnInit {
private prices = [];
constructor(private bittrexService: BittrexService) {
this.bittrexService = bittrexService;
}
ngOnInit(){
this.bittrexService.getPrices()
.subscribe(
data => this.prices = data.result
);
}
}
替换此:
<div *ngFor="let price of prices">
High : {{price.High}} , Low : {{price.Low}}
</div>
您尝试打印obejcts prices
的阵列, 应该price
不prices
High : {{price.High}} , Low : {{price.Low}}
这样你就可以访问任何给定的值:
{
"MarketName": "BTC-ZEC",
"High": 0.16290000,
"Low": 0.13087156,
"Volume": 12760.98721068,
"Last": 0.15650003,
"BaseVolume": 1908.20341779,
"TimeStamp": "2017-06-14T19:15:25.57",
"Bid": 0.15650003,
"Ask": 0.15786551,
"OpenBuyOrders": 1130,
"OpenSellOrders": 1257,
"PrevDay": 0.13380000,
"Created": "2016-10-28T17:13:10.833"
}
请问你也接受我的答案吗? –
我得到同样的错误[对象对象] –
@ClaudioRamírezGuichard,你能告诉我价格的价值吗? –
代替印刷每个价格,你将列表合并成一个字符串 –
@nickzoum我是一个新手。你是什么意思,我该如何解决它?感谢您的回复 –
这意味着您正在尝试将很多对象合并到一个字符串中。下面的答案显示了如何解决它。 –