Angular 2“表达在检查后发生了变化”
发布时间:2020-12-17 17:07:06 所属栏目:安全 来源:网络整理
导读:我在我的应用程序中使用了一下,它以这种方式显示“X Minutes ago”标签: {{comment.created_at | amTimeAgo}} 分钟数自动更新(1分钟后将是X-1 Miuntes前“). 当我离开应用程序时,我正在尝试访问它,但是我收到以下错误: platform-browser.umd.js:962 ORIGIN
我在我的应用程序中使用了一下,它以这种方式显示“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 { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容