我有这个TabView
组件:
<TabView androidTabsPosition="bottom">
<page-router-outlet *tabItem="{title: 'Item 1'}" name="map"></page-router-outlet>
<page-router-outlet *tabItem="{title: 'Item 2'}" name="subscribe"></page-router-outlet>
</TabView>
路由器配置:
{
path: '',
redirectTo: '/(map:map//subscribe:subscribe)',
pathMatch: 'full'
},
{
path: 'map',
loadChildren: '~/app/routes/+map/map.module#MapModule',
outlet: 'map'
},
{
path: 'subscribe',
loadChildren: '~/app/routes/+subscribe/subscribe.module#SubscribeModule',
outlet: 'subscribe'
}
在功能模块SubscribeModule
中,我有一个应导航到map
路线的功能:
// The NativeScript router service
constructor(private router: RouterExtensions) {}
navigate(args) {
const item = this.items[args.index];
this.router.navigate(['map'], {
transition: {
name: 'slideLeft',
duration: 300
}
});
}
但是我一直得到的只有Error: Cannot match any routes. URL Segment: 'map'
。
我也尝试了以下方法:
this.router.navigate([{outlets: {map: 'map'}}]
导航到指定的插座this.router.navigate(['../', 'map'])
导航navigateByUrl
导航但是它们都产生相同的结果。
我可能做错了什么?
答案 0 :(得分:0)
请在下面尝试
this.router.navigate([“ / map”],{ 过渡: { 名称:“ slideLeft”, 持续时间:300 } });
尝试添加私有activeRoute:组件中的ActivatedRoute
this.router.navigate([{奥特莱斯:{搜索:[“ map”]}}}],{relativeTo:this.activeRoute});