Я использую вкладки в своем угловом приложении 8, и я пытаюсь получить ссылку на дочерний компонент одной из этих вкладок. У меня проблема в том, что ViewChild определяется только тогда, когда они действительно нажимают на вкладку. Я могу справиться с этим, но когда они щелкают на вкладке, ViewChild сбрасывается в ноль, и это проблема для меня. Я пишу свой HTML-код примерно так:
<ngb-tab [hidden]="!(isCertifying$ | async)">
<ng-template ngbTabTitle>
<span appRequiredOnValidation>Lab Changes</span>
</ng-template>
<ng-template ngbTabContent>
<div class="tab-wrapper">
<detail-lab-changes [lab]="lab" #labChanges></detail-lab-changes>
</div>
</ng-template>
</ngb-tab>
И затем я получаю ссылку на него в моем .ts-файле примерно так:
@ViewChild('labChanges', {static: false})
labChangesTabComponent: DetailLabChangesComponent;
Если я сделаю static: true
затем он устанавливается на null
один раз и никогда не устанавливается снова. Использование false
означает, что он начинается с null
, затем, когда они нажимают на вкладку, которую он устанавливает для компонента, но затем, когда они щелкают, он снова сбрасывается до null
.
Мне нужно его установитьк компоненту и затем не сможет перейти null
снова. Как мне это сделать?