【发布时间】:2017-03-25 16:59:34
【问题描述】:
我从提要 URL 中获取项目列表,如下所示:
getFeed(){
return Observable.interval(5000)
.mergeMap(() => this._http.get(this.feedUrl))
.map(this.extractFeeds)
.catch(this.handleError);
}
private extractFeeds(res: Response): Feed {
let feeds = res.json();
return feeds || { };
}
而且效果很好。现在我希望根据feed[].publishedDate 拆分这些;如果时间在最后 5 分钟内,那么我希望将这些分组到我拥有的列表中:
private latestFeeds: Feed[];
如果没有,则将它们分组到我拥有的另一个列表中:
private olderFeeds: Feed[];
最好的方法是什么?在实际服务中,还是在模板中使用*ngIf?我的 HTML 如下所示:
<div *ngIf="feeds">
<div *ngFor="let feed of feeds | slice:0:9">
<div class="row">
<div class="col-md-12">
<div class="search-res well">
<div>
<strong>Date Published: </strong>
{{feed.publishDate | date:'medium'}}
</div>
<a href="{{feed.link}}" target="_blank"><h4>{{feed.title}}</h4></a>
</div>
</div>
</div>
</div>
我的 feedComponent.ts 如下
constructor(private _feedService:FeedService) { }
ngOnInit() {
this.getFeed();
}
getFeed() {
this._feedService.getFeed()
.subscribe( res => {
this.feeds = res;
})
}
感谢您的帮助和时间
【问题讨论】:
-
我可能都不会开始;在组件中进行拆分,并向模板公开两个属性。在这种情况下显示“最新”字段似乎是一个显示问题。
-
我是 Angular 新手。你能给我一个例子,说明如何在代码中执行 if/else 语句吗?我还在问题中添加了我的组件
标签: angular angular2-template angular2-services