I am new to Angular 4, and while reading the official tutorial https://angular.io/tutorial, I came across the Master/Detail component (https://angular.io/tutorial/toh-pt3), there they did a property binding between the heroes list component and the hero details component:
<app-hero-detail [hero]="selectedHero"></app-hero-detail>
Here is a direct quote from the tutorial:
It's a one way data binding from the selectedHero property of the HeroesComponent to the hero property of the target element, which maps to the hero property of the HeroDetailComponent. Now when the user clicks a hero in the list, the selectedHero changes. When the selectedHero changes, the property binding updates hero and the HeroDetailComponent displays the new hero.
If you check the code, app-hero-detail allows to change the hero.name parameter via an input field. What surprised me is that when changing the hero.name field, the selectedHero.name value also changes (you can check the live demon https://stackblitz.com/angular/moymegapmypx).
Is there something I am missing? Isn't this supposed to be a one way binding (selectedHero changes hero but not the other way)? I am sure there is an explanation for this.