Работает как задумано. Он отображает одно и то же значение, потому что вы визуализируете {{selected}}
на каждой итерации шаблона, а для selected
устанавливается любое последнее значение, полученное из ChildComponent
. Что вы ожидали, что он будет отображаться?
Кроме того, это плохой шаблон, чтобы использовать @Input
для отправки данных через несколько уровней, от родителя к ребенку к внуку. Это быстро становится сложным в управлении. Даже ваш очень маленький пример кода уже сложен для отслеживания.
Вместо этого я предлагаю вам использовать общую службу, предоставляемую на родительском уровне
@Component({
...
providers: [MyService]
})
export class ParentComponent {
...
}
Затем вы можете внедрить эту службу в родительскую. и внучка, и использовать сервис для отслеживания состояния.