【问题标题】:NativeScript Angular: How do I redirectTo child nested route?NativeScript Angular:如何重定向到子嵌套路由?
【发布时间】:2018-12-31 21:42:40
【问题描述】:

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

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

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

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

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

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

额外功劳:我看到outlet 用于路由以及这个时髦的/<route>(<outlet>:<route>) 命名出口符号。示例:[modal-navigation-ng] e2e app1。这种符号/机制是否记录在任何地方?我有点明白发生了什么,但似乎是一些黑匣子/魔法。我不能仅仅看e2e example app就完全掌握这个概念

【问题讨论】:

    标签: nativescript angular2-nativescript nativescript-angular


    【解决方案1】:

    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'}
            ]
        }
    ];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 2016-05-08
      • 1970-01-01
      相关资源
      最近更新 更多