当前位置: 首页 > 知识库问答 >
问题:

在Angular 4中可以观察到,NgFor只支持绑定到迭代项(如数组)

松博耘
2023-03-14

是的,我看到其他人得到了这个错误,我只是不太明白如何在我的代码中修复它

private _url = 'https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,LTC,EOS,DASH&tsyms=USD'

如果我没有返回,它不会因错误而崩溃,但我确实希望返回数据。

getAllCoins() {

    var blah = [];

    return this.getCoins().subscribe(
        data => {
            blah = data;               
            //console.log('subscriber coins', blah)
        }
    )

}
getCoins() {
    return this.http.get(this._url)
        .map((response: Response) => response.json())
        //.do(data => console.log(data))
        .do(data => console.log('All: ' + JSON.stringify(data)))  // do operator to peek 
        .catch(this.handleError);
}
{
"BTC": {
  "USD": 3349.1
},
"ETH": {
  "USD": 296.3
},
"LTC": {
  "USD": 47.56
},
"EOS": {
  "USD": 1.83
},
"DASH": {
  "USD": 195.83
}
}

更新评论问题

@Component({
template: `
<div>test</div>
<div *ngFor="let coin of coinsList">
 abc
 </div>
`
})

共有1个答案

白学
2023-03-14

正如其他人所说,*NGFOR只适用于迭代。

有几种方法可以克服这个问题。我现在想到的是:

1)可以将对象列表推送到数组中。

this._ConfigurationService.getCoins()
            .subscribe(
            (data)=> {
                for(let key in data){
                  this.coinsList.push(data[key]);
                }
            },
            (error) => console.log("error : " + error)
        );
<div *ngFor="let coin of coinsList">
    <span>{{coin | json}}</span>
</div>

为了简单起见,我的建议是使用第一个。

 类似资料:
  • 我刚开始学习angular4,遇到了一个概念上的问题。管道(在本例中与结合使用)用于订阅可观察的,而不用手动订阅。查看web上的示例: 情况1:绑定到包含单个项(如

  • 数据以这种方式发送: 我试图在html中用*ngFor显示类别,如下所示: 我的错误: 我去另一个视图不错,但是IDK为什么我的错误,如果我尝试:JSON.parse错误更改为 我一直在阅读有关该错误的信息,看起来我不需要解析,所以我非常困惑。 帮帮忙,谢谢! 这是转到另一个视图之前的数据。

  • 问题内容: 我正在尝试了解观察者和可观察者。 这是我要弄清楚的一个示例: 该可制成只是因为延伸? 该观察者被添加到哪里?正在创建什么,在哪里创建? 和之间有什么区别? 我不明白这种方法。代表什么?为什么需要检查?为什么要更新另一个可观察的东西? 无论如何我为什么需要这个观察者? 问题答案: 是。是抽象类中的方法。请参阅Java文档中的Observable。 它已添加到中的列表中。 在设置之前,对的

  • 我在谷歌上搜索了一下,并试图用我找到的例子尽可能好地解决这个问题,但是唉...没有成功。 使命: 打开模式,并显示用于选择已存在用户的复选框 错误: 问题: 在选择一个人之前,新的或现有的玩家是“未定义的”。因此,我创建了一个“teamPlayerDefault”js对象,其数据类似于api调用返回的数据(尚未实现)。这是用来初始化的 JSFiddle链接: 点击这里。。。 代码:

  • 问题内容: 给定汽车清单(),我可以这样做: 有没有办法我可以从一个到一个序列? 像没有参数的东西 问题答案: 您可以这样映射到: 请注意,flatMapping可能不会保留源可观察的顺序。如果订单对您很重要,请使用。