angular - 具有多个参数的默认路由正在加载组件

标签 angular routes

默认路由默认不加载Tab组件。仅当我替换以下代码时它才有效

{ 路径:'选项卡/:id', 组件:TabComponent 选项卡 }//注意:仅适用于一个参数 应用程序路由.ts

const appRoutes: Routes = [

    {
        path: '',
        component: NavMenuComponent, // nav component
        children: [
            {
                path: '',
                redirectTo: 'tab/' ,
                pathMatch: 'full'
            },
            {
                path: 'tab/:id/:title', 
                component: TabComponent // tabs
            }
        ]
    },

];

manu.copnent.html

 <ul class="list-unstyled list" *ngFor='let tab of tabs'>
            <li><a [routerLink]="['/tab',tab.LinkTabID,tab.TabName]" class="anchorLink"><i class="icon-home scolor"></i><font color="white">{{tab.TabName}}</font></a></li>



        </ul>

最佳答案

您无法导航到不存在的路由,并且路由 tab/ 不存在,只有 tab/1/foo (或您指定的任何值)用于参数)。

如果您希望能够导航到 tab/ 您需要创建这样的路线

const appRoutes: Routes = [

    {
        path: '',
        component: NavMenuComponent, // nav component
        children: [
            {
                path: '',
                redirectTo: '/tab' ,
                pathMatch: 'full'
            },
            {
                path: 'tab', 
                component: TabComponent // tabs
            }
            {
                path: 'tab/:id/:title', 
                component: TabComponent // tabs
            }
        ]
    },

];

您应该知道,从 tabs/ 导航到 tabs/1/foo TabComponent 在从 tabs/ 导航时会被销毁并重新创建 tabs/1/footabs/2/bar TabComponent 被重用。

关于angular - 具有多个参数的默认路由正在加载组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43103413/

相关文章:

angular - 带有自定义参数的 ngFor trackBy 函数

node.js - "How to build a chatbot with anuglar and node.js"?

javascript - Angular 自定义异步验证器不工作

c - 数据包过滤、IpTables 和路由

javascript - 基于国家/地区的路由

具有多个参数的 Laravel 5.7 自定义 URL

java - Vaadin 14 嵌套路线避免导航刷新

php - 将 JSON 从 angular 2 发布到 php

angular - 使用类装饰器时需要未捕获的反射元数据垫片

php - Laravel 管理员编辑路线不起作用。返回 404