I found a solution mostly based on the information I got from this question. Things were slightly different because my app is using <page-router-outlet> instead of <router-outlet> and because of the overall structure of the app.
In the tabs component template I added an id to the bottom navigation so it could be referenced
<BottomNavigation id="bnav">
in the players component I added the following function:
toTeam( event: any ) {
console.log("Team ID is: " + event.object.teamId);
// Get the topmost frame so we can get the 'bnav' view from it later
const topmostFrame: Frame = Frame.topmost();
// Navigate places in the outlets
this.re.navigate(
[
{
outlets: {
teamTab: ["team", event.object.teamId],
playerTab: ["players"],
}
}
], { relativeTo: this.activeRoute.parent });
// Get the tabview object from the page and switch it to show the teams tab
let bNav:TabView = <TabView>topmostFrame.page.getViewById("bnav");
bNav.selectedIndex = 1;
}
The <page-router-outlet> meant I couldn't just import Page and use this.page.getViewById("bnav") because the page that the players component is contained within does not encompass the <BottomNavigation>. Getting the topmost frame allowed me to get the page that contained what I needed.
This all works perfectly in my application.