我在我的应用程序中使用了一下,它以这种方式显示“X Minutes ago”标签:
{{comment.created_at | amTimeAgo}}
分钟数自动更新(1分钟后将是X-1 Miuntes前“).
当我离开应用程序时,我正在尝试访问它,但是我收到以下错误:
platform-browser.umd.js:962 ORIGINAL EXCEPTION: Expression has changed after it was checked. Previous value: '8 Minutes ago'. Current value: '9 Minutes ago'
我通过API从方法中读取数据(日期)一次.
searchPeople(name)
{
this.loading = true;
this.http.get(this.BASE_URL + 'mode=search&name='+name)
.map((res:Response) => res.json())
.subscribe(
data => {
this.loading = false;
this.people = data;
this.searchedName = name;
},
error => {
console.log(error.text());
}
);
}
我怎么解决这个问题?
最佳答案 问题是由管道amTimeAgo为同一输入返回不同的输出引起的.显然你将comment.create_at与Date.now()进行比较,并且当时间流逝时会产生不同的输出.
这是一个不纯的管道,你需要告诉Angular通过设置pure:false:
@Pipe({
name: 'amTimeAgo',
pure: false
})
class AmTimeAgoPipe {
...
}