You can achieve this by temporarily changing the value of your wall.title model (adding space to the end and deleting it after 0ms: P), which forces angular to update the DOM div element:
So, change the template to this:
<div class="wall-title col-sm-12" [attr.contenteditable]="wall.title && wall.title !== 'Favorites'" [textContent]="wall.title" (input)="wall.title=$event.target.textContent" (keyup.enter)="wallNameChanged($event)" (blur)="wallNameChanged($event)" ></div>
And in the component code:
public finishEditTeamName(event) { event.target.blur(); let str = this.wall.title; this.wall.title = str + ' '; setTimeout( () => { this.wall.title = str; }, 0); }
source share