Проблема здесь в строке <app-summary [breakdowns]="breakdowns"></app-summary>
в stepper.html
. На самом деле это работает следующим образом:
[ переменная TS с именем 'breakdowns' в summary.ts ] = " переменная TS с именем 'breakdowns' в stepper.ts"
Вы можете заметить, что в действительности нет переменной уровня класса с именем breakdown
в stepper.ts
. Тем не менее, существует переменная breakdownsGroup
, которая содержит в себе FormArray с именем breakdown
. Так что на самом деле, чтобы дать stepper.html
то, что он распознает, мы хотим вместо этого перейти в правую часть приведенной выше строки:
<app-summary [breakdowns]="breakdownsGroup?.controls?.breakdown?.value"></app-summary>
Более элегантный способ Чтобы добиться того же, нужно использовать функцию псевдонима get
в вашем наборе для ссылки на интересующий вас элемент управления. Затем вы можете использовать этот псевдоним для сокращения кода в вашем HTML, например:
stepper.ts
get breakdowns() {
return this.breakdownsGroup.get('breakdowns')
}
степпер. html
<app-summary [breakdowns]="breakdowns?.value"></app-summary>
Теперь вы сможете получить доступ к содержимому breakdowns
FormArray из summary.ts
.
Обратите внимание, однако, что в настоящее время нет логинов c в stepper.ts
, которые бы ни назначали, ни изменяли breakdownsGroup
или breakdowns
FormArray, поэтому вы будет иметь только инициализированный пустой массив, переданный в summary.ts