// HTML
<span style="margin-left:43%;background-color:rgb(229,229,229);border-
radius:10%"> {{formatEpoch(epoch)}} </span>
// TS
lastdate:any;
formatEpoch(epoch): string {
if(epoch == this.lastdate){
return '';
}else{
this.lastdate =epoch;
return UtilService.getCalendarDay(epoch);
}
}
ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化。上一个值:'今天下午5:34'。当前价值:''。
我该如何解决此错误?请帮忙。
答案 0 :(得分:1)
如果喜欢角度,请尝试使用
this._changeDetectionRef.detectChanges();
在您的方法结束时,不要忘记添加
private _changeDetectionRef : ChangeDetectorRef
作为拥有方法的Component的构造函数的参数。
参见discution here
答案 1 :(得分:0)
你能试试吗
lastdate:any;
formatEpoch(epoch): string {
setTimeout(()=> {
if(epoch == this.lastdate){
return '';
}else{
this.lastdate =epoch;
return UtilService.getCalendarDay(epoch);
}
}, 100);
}
答案 2 :(得分:0)
最佳解决方案:
import { Platform } from '@ionic/angular';
// ...
constructor(
...
private _platform:Platform
) { }
ngOnInit() {
this._platform.ready().then(() => {
this.formatEpoch()
})
}