2017-10-19 2 views
0

// htmlIonic wie "ExpressionChangedAfterItHasBeenCheckedError" Fehler zu beheben?

<span style="margin-left:43%;background-color:rgb(229,229,229);border- 
    radius:10%">&nbsp;&nbsp;{{formatEpoch(epoch)}}&nbsp;&nbsp;</span> 

// ts

lastdate:any;      

formatEpoch(epoch): string { 
    if(epoch == this.lastdate){ 
     return ''; 
    }else{ 
    this.lastdate =epoch; 
    return UtilService.getCalendarDay(epoch); 
    } 
    } 

ExpressionChangedAfterItHasBeenCheckedError: Expression geändert hat, nachdem er geprüft wurde. Vorheriger Wert: '今天 5:34 PM'. Aktueller Wert: ''.

Wie kann ich diesen Fehler beheben? Bitte helfen Sie.

+0

entfernen Ausdruck mit Nebenwirkung von Vorlage – yurzui

+0

Danke für Ihre Antwort. Würden Sie bitte mehr Details erzählen? – fastworker399

+0

Im Winkelmodus werden zwei Änderungszyklen im Modus "Dev" ausgeführt. Bei der ersten Überprüfung ändern Sie 'this.lastdata', so dass die zweite Prüfung den Fehler – yurzui

Antwort

0

Könnten Sie versuchen, diese

lastdate:any;      
formatEpoch(epoch): string { 
    setTimeout(()=> { 
    if(epoch == this.lastdate){ 
     return ''; 
    }else{ 
     this.lastdate =epoch; 
     return UtilService.getCalendarDay(epoch); 
    } 
    }, 100); 
} 
+0

Danke für die Antwort. aber keine Änderungen. – fastworker399

0

wenn wie in Winkel, versuchen

this._changeDetectionRef.detectChanges(); 

am Ende Ihrer Methode zu verwenden, nicht

private _changeDetectionRef : ChangeDetectorRef 

hinzuzufügen vergessen als Parameter des Konstruktors der Komponente, die Ihre Methode besitzt.

See discution here

Verwandte Themen