我想发出一个 http get 请求,该请求返回要在ngFor
循环中使用的 json 数据数组。我不确定执行此操作的最佳方法。this.list
是ngFor
指令中要循环的列表。出于测试目的,json 文件位于我的本地计算机上。我已经查看了 Angular 2 文档,以及为此的 udemy 课程,但无法弄清楚。我怀疑这很简单。
带有ngFor
指令的组件。
constructor(private router:Router, private rec:RecommendationsService ){}
ngOnInit(){
this.rec.getRecommendations().subscribe(
data=>{
this.x = JSON.stringify(data);
alert(this.x);
this.list = this.x;
}
);
}
获取请求位于服务中
import 'rxjs/Rx';
@Injectable()
export class RecommendationsService{
url="//Users/Daniel/Desktop/Reccomendations.json";
constructor(private http:Http){};
getRecommendations(){
return this.http.get(this.url).map(res => res.json);
}
}
这是需要数据的 ngfor。
<div *ngFor="let item of list, let i = index" data-toggle="modal" data-target="#recModal">
<div class="row rowTopBuffer rowDiv" (click)="toModal(item.name, item.description, item.recLocLat, item.recLocLong, item.picturePath)">
<div class="col-sm-12 col-md-4 titleDiv" >
<img class="recommendationImages img-responsive img-rounded" src={{item.picturePath}}>
</div>
<div class="col-sm-12 col-md-6 descDiv">
<p class="itemTitle">{{item.name}}</p>
<p id="{{desc+i}}">{{item.description}}</p>
</div>
</div>
</div>
现在例外:运行此代码时在控制台中抛出 [object Object]。