平台.链接路由,子路由不再工作



我有一个anuglar 9应用程序,我正在使用Material。我有两个不同的模板:移动版和桌面版。

因此,通过路由,它知道必须加载切换模板:移动模板或桌面模板。

看起来是这样的:

app.component.ts

constructor(
public oidcSecurityService: OidcSecurityService,
private router: Router,
public platform: Platform,
private route: ActivatedRoute
) {
if (platform.BLINK === true && platform.ANDROID === true) {
this.router.navigate(['mobile'], { relativeTo: this.route });
} else if (platform.BLINK === true && platform.ANDROID === false) {
this.router.navigate(['desktop'], { relativeTo: this.route });
}
}

但现在的问题是,我有一个这样的路由器:

const routes: Routes = [
{
path: 'hello',
/* pathMatch: 'full', */
component: DesktopDashboardComponent,
},
{
path: 'test-desktop',
component: TestDesktopComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DesktopRoutingModule {}

我的app-routing.module.ts看起来是这样的:

const routes: Routes = [
{
path: 'mobile', loadChildren: () =>
import('../app/mobile-dashboard/mobile-dashboard.module').then(m => m.MobileDashboardModule)
},
{
path: 'desktop', loadChildren: () =>
import('./desktop-dashboard/desktop-dashboard.module').then(m => m.DesktopDashboardModule),
},
{
path: 'autologin',
component: AutoLoginComponent
}
];

但是,如果我想手动导航到这个网址:http://localhost:4200/desktop/test-桌面不起作用。它可以追溯到:http://localhost:4200/desktop

但如果我评论一下:

if (platform.BLINK === true && platform.ANDROID === true) {
this.router.navigate(['mobile'], { relativeTo: this.route });
} else if (platform.BLINK === true && platform.ANDROID === false) {
this.router.navigate(['desktop'], { relativeTo: this.route });
}

我可以转到网址:

http://localhost:4200/desktop/test-desktop

当然,移动模板已经不起作用了。如果我对此发表评论。

那么,这方面的工作是什么呢?

谢谢

let isMobile = false;
if (platform.iOS || platform.ANDROID) {
// mobile
isMobile = true;
}

相关内容

  • 没有找到相关文章

最新更新