NativeScript Angular:如何重定向到子嵌套路由?

NativeScript Angular: How do I redirectTo child nested route?

我正在使用 NativeScript Angular,但不知道如何设置默认视图以使用 children 嵌套路由路径。

传达我想要完成的事情的最简单方法是在此处查看我的游乐场:https://play.nativescript.org/?template=play-ng&id=WvQnzu&v=581

打开 app/home/home-routing.module.ts,在第 9 行你可以看到我试图重定向初始页面视图以加载 <router-outlet> 中定义的 first 子组件的位置在 home.component.html

我可以通过单击按钮或使用编程 this.routerExtensions.navigate() 来加载嵌套 <router-outlet> 中的子组件(参见 home.component.ts 第 47 行)

我做错了什么?为什么 HomeComponent 的初始加载不显示嵌套 <router-outlet> 中的 FirstComponent 子项??

我只想使用这个自定义标签导航,并在点击标签导航项时加载一个组件。

额外功劳: 我看到 outlet 用于路线以及这个时髦的 /<route>(<outlet>:<route>) 命名出口符号。示例:[modal-navigation-ng] e2e app1. Is this notation/mechanism documented anywhere? I kinda get what's going on but seems like some black-box/magic. I can't fully grasp the concept by simply looking at the e2e example app

Angular 不支持多级绝对重定向。

来源:https://github.com/angular/angular/issues/25254

一个简单的解决方法是使用相对重定向

应用程序路由

const routes: Routes = [
    { path: "home", loadChildren: "./home/home.module#HomeModule" },
    { path: "", redirectTo: "home", pathMatch: "full" }
];

家庭路由

const routes: Routes = [
    {
        path: "", component: HomeComponent,
        children: [
            { path: 'first', component: FirstComponent },
            { path: 'second', component: SecondComponent },
            { path: '', redirectTo: 'first', pathMatch: 'full'}
        ]
    }
];