Angular 2孩子和父母(webpack,TS,Angular 2 final)

时间:2016-11-25 09:43:54

标签: angular typescript routing

从昨天起就一直在挠头,无法弄清楚如何解决我的问题。我有一个父级:仪表板组件,其中包括页眉和下拉列表。我的孩子组件目前仅包含一行:"Child Component! Chosen value from dropdown list: "Some value"".请查看下面的图片。

通讯工作正常,但导航到仪表板时遇到问题。

我的路线如下:

{
    path: 'admin',
    component: AdminComponent,
    children: [
        {
            path: '',
            component: AdminComponent,
        },
        {
            path: 'something/:name',
            component: TestComponent,
        },
    ]
},

如果我不添加:

        {
            path: '',
            component: AdminComponent,
        },

在儿童路线中,我收到错误:

Uncaught (in promise): Error: Cannot match any routes: 'admin'
Error: Cannot match any routes: 'admin'

但这也意味着,当我在儿童中添加时,父视图会显示两次。

当我从下拉列表中选择一个项目时触发子视图,视图看起来就像它应该的那样,带有下拉列表的父视图和子文本行。

我试图改变儿童路线中的线路:

    children: [
        {
            path: '',
            component: AdminComponent,
        },
        {
            path: 'something/:name',
            component: TestComponent,
        },
    ]

到:

    children: [
        {
            path: '',
            redirectTo: 'admin',
        },
        {
            path: 'something/:name',
            component: TestComponent,
        },
    ]

但它不起作用

1 个答案:

答案 0 :(得分:1)

将其更改为:

 children: [
        {
            path: ''
        },
        {
            path: 'something/:name',
            component: TestComponent,
        },
 ]

这只会在空路径上的router-outlet中呈现任何内容。另一种选择可能是将空路径重定向到something并让占位符组件说:'选择一种疾病'。