Как экземпляр родительского компонента передается в конструктор дочернего компонента? - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь понять, как компонент таблицы работает в PrimeNG. Я не понимаю, как экземпляр родительского компонента передается в конструктор дочернего компонента.

Вот источник компонента TableBody, взятый в качестве экземпляра компонента Table. Источник таблицы PrimeNG

Итак, я понимаю, что компонент TableBody имеет атрибут в качестве селектора. Он передается в столбцах и bodyTemplate из родительского (Table) компонента. Теперь я не понимаю, как экземпляр родительского компонента (таблицы) передается в него при его создании.

Шаблон компонента "Снимок таблицы"

            <div class="ui-table-wrapper" *ngIf="!scrollable">
            <table #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
                <ng-container *ngTemplateOutlet="colGroupTemplate; context {$implicit: columns}"></ng-container>
                <thead class="ui-table-thead">
                    <ng-container *ngTemplateOutlet="headerTemplate; context: {$implicit: columns}"></ng-container>
                </thead>
                <tfoot *ngIf="footerTemplate" class="ui-table-tfoot">
                    <ng-container *ngTemplateOutlet="footerTemplate; context {$implicit: columns}"></ng-container>
                </tfoot>
                <tbody class="ui-table-tbody" [pTableBody]="columns" [pTableBodyTemplate]="bodyTemplate"></tbody>
            </table>
        </div>

Полный источник: Источник Github

Любое понимание очень ценится.

1 Ответ

0 голосов
/ 10 мая 2019

Атрибуты [pTableBody] и [pTableBodyTemplate] в родительском компоненте объявили @Input в файле ts.И «столбцы» привязаны к переменной с тем же именем.

Прочтите немного о входе и выходе https://www.sitepoint.com/angular-2-components-inputs-outputs/

Надеюсь, я немного помог.

...