Я использую вкладки из ngx-bootstrap, которые я поместил в родительский компонент. Я пытаюсь переключить активные вкладки в родительском компоненте по ссылке в дочернем компоненте. Я вижу, что метод setTab работает, когда я вызываю функцию selectTab () из моего родительского компонента. Но когда я хочу сделать то же самое из моего дочернего компонента (компонента входа в систему), он не работает, и я получаю следующую ошибку:
error: Cannot read property 'tabs' of undefined
Я понимаю, что мой тег является частью моего родительского компонента, поэтому я получаю эту ошибку.
Я хочу переключить активную вкладку с моего дочернего компонента, любая помощь очень ценится.
РОДИТЕЛЬ widget.component.html
<tabset #logRegTab id="logRegTab">
<tab (select)="fedEffect($event)" class="active" heading="Log In">
<div [@animationFedInFedOut]="bindingVar" class="tab-pane active" id="login">
<app-login #logRegTab></app-login>
</div>
</tab>
<tab (select)="fedEffect($event)" heading="Register">
<div [@animationFedInFedOut]="bindingVar" class="tab-pane" id="signup">
<app-registration></app-registration>
</div>
</tab>
</tabset>
РОДИТЕЛЬ widget.component.ts
constructor(private router:Router ) { }
@ViewChild('logRegTab') staticTabs: TabsetComponent;
selectTab(tabId: number) {
this.staticTabs.tabs[tabId].active = true;
}
РЕБЕНОК : login.component.html
<form id="login" >...</form>
<a (click)="goToRegPage()">Register as Condidate</a>
РЕБЕНОК : login.component.ts
@ViewChild(TabsetComponent) staticTabs: TabsetComponent;
selectTab(tabId: number) {
this.staticTabs.tabs[tabId].active = true;
}
goToRegPage()
{
if(this.router.url='register');
this.selectTab(1);
}