I have app with 3 tabs - About, Contact and Quotes. Quotes is list of quote with detail - QuotePage, I want to open detail of quote from url via deeplinks with ID of quote from app.component, but a problem is when I do this in app.component.ts:
@ViewChild('Nav') navChild: NavController;
…
platform.ready().then(() => {
handleAuth();
if (platform.is('cordova')) {
handleDeeplinks();
}
});
const handleAuth = () => {
authService.UserSettings
.subscribe(userSettings => {
if (authService.IsInitialize) {
if (!!userSettings.Email) {
this.rootPage = HomePage;
} else {
this.rootPage = LoginPage;
}
}
});
}
const handleDeeplink = () => {
let routes = {
'/quote-detail': QuoteDetailPage
}
this.deeplinks.route(routes).subscribe((match) => {
this.navChild.setPages([
{ page: QuotesPage },
{ page: QuoteDetailPage, params: { 'quoteId': match.$args.quoteId } }
]);
},
(nomatch) => {
alert(JSON.stringify(nomatch))
console.error('Got a deeplink that didn\'t match', nomatch);
});
}
this is my app.component.html
<ion-nav #Nav [root]="rootPage"></ion-nav>
and this is my home.html
where I use tabs
<ion-content>
<ion-tabs tabsPlacement="bottom" #tabsNav>
<ion-tab [root]="quotesPage"></ion-tab>
<ion-tab [root]="aboutPage"></ion-tab>
<ion-tab [root]="contactPage"></ion-tab>
</ion-tabs>
</ion-content>
In QuotesPage
is list of quotes. When I click on quote item I will do standard navigation with push QuoteDetailPage
with quoteId as parameter
my deeplinkUrl looks like this: myApp://myapp.com/quote-detail?quoted=7
and problem is, that QuoteDetailPage is opened with right parameter, but my tab-bar is missing, also I have segments in QuotesDetailPage and I am unable to navigate in segments (I cant move from selected segment).
Can anybody know the issue?