Expression has changed after it was checked

ngAfterViewInit(){} est le lifecycle hook qui permet de s'abonner à un Observable par exemple mais PAS de modifier des données après que la vue ait été initialisée (d'où le " after view init"). Tenter de modifier les données mises à disposition par un component enfant auquel on accéderait depuis TypeScript à l'aide de @ViewChild provoquerait l'erreur suivante

Expression has changed after it was checked. Previous value si bla bla, current value is bli bli".  

Pour éviter cette erreur, il faut modifier la donnée en provenance du component enfant dans le lifecycle hook ngAfterContentInit(){}, c'est-à-dire, après que le contenu enfant ait été projeté, mais AVANT que la vue ait été rendue.

Formation Angular 2 en français : Angular 2 par la pratique.