アプリのメイン ページに、クリックするとアクティブなタブを変更する要素を設計しました。
私は次のことをしていました:
events.subscribe('change-tab', (tab, filterOnSport) => {
console.log('TabsPage#constructor - change-tab event received with params: ', tab, filterOnSport);
if (filterOnSport) this.findTabParams.filterOnSport = filterOnSport;
this.tabs.select(tab);
});
ただし、上記のタブに一度もアクセスしたことがない場合、これは初めては機能しません ( https://github.com/ionic-team/ionic/issues/12592を参照) 。
Github の問題で、誰かがタブのクリックをシミュレートすることを提案しているのを見ました。
そのために使用しようとしViewChild
ていますが、うまく機能させることができません。
// View
<ion-tabs #tabs>
<ion-tab [root]="tab1Root" tabIcon="home"></ion-tab>
<ion-tab #findTab [root]="tab2Root" [rootParams]="findTabParams" tabIcon="search"></ion-tab>
<ion-tab [root]="tab3Root" tabIcon="chatbubbles" [tabBadge]="unread?1:null" [tabsHideOnSubPages]=true></ion-tab>
<!--<ion-tab [root]="tab3Root" tabIcon="chatbubbles" [tabBadge]="totalUnreadMessages?.$value" [tabsHideOnSubPages]=true></ion-tab>-->
</ion-tabs>
// Controller
@ViewChild('findTab') findTab: ElementRef;
...
ngAfterViewInit() {
console.log('TAB elem ', this.findTab);
// How click the tab ?
}
タブのクリック機能をトリガーするにはどうすればよいですか?