Angular 4 [对象对象]

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 
); 
} 
} 
+0

代替印刷每个价格,你将列表合并成一个字符串 –

+0

@nickzoum我是一个新手。你是什​​么意思,我该如何解决它?感谢您的回复 –

+0

这意味着您正在尝试将很多对象合并到一个字符串中。下面的答案显示了如何解决它。 –

替换此:

<div *ngFor="let price of prices"> 
    High : {{price.High}} , Low : {{price.Low}} 
</div> 

您尝试打印obejcts prices的阵列, 应该priceprices

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" 
    } 
+0

请问你也接受我的答案吗? –

+0

我得到同样的错误[对象对象] –

+0

@ClaudioRamírezGuichard,你能告诉我价格的价值吗? –