我想使用http get检索对象,但是当我将返回的数据分配给变量时,该变量仍未定义。但是,奇怪的是,如果我单击两次,则此变量可以获取正确的数据而不是未定义的。这真的让我很困惑。
如果仅单击一次触发此方法的按钮,则控制台为“服务未定义”。但是,如果我单击两次,控制台将是“服务是[对象对象]”,这是我想要的结果,因为它已分配了正确的数据。
naviStarships(url) {
this.http.get(url).subscribe(data => {
this.service.currentStarShip = data;
console.log('service is ' + this.service.currentStarShip);
}
});
HTML:
<div style="float: right; width: 50%;">
<ul style="list-style-type:none;">
<li *ngFor="let starship of character.starships" (click) = "naviStarships(starship)">
{{ starship }}
</li>
</ul>
</div>
我希望我点击一下就能收到结果。