Angular 5 向子路由传递数据

Angular 5 passing data to child route

在我的 Angular 5 项目中,路由配置如下所示:

const routes: Routes = [
    {
        path:      'a',
        component: MainComponent,
        children:  [
            {
                path:      'ab',
                component: ABComponent
            },
            {
                path:      'ac',
                component: ACComponent
            }
        ],
        data:      AData // array of objects
    },
    {
        path:      'b',
        component: MainComponent,
        children:  [
            {
                path:      'bb',
                component: BBComponent,
                data:      BBData // array of objects
            },
            {
                path:      'bc',
                component: BBComponent,
                data:      BCData // array of objects
            }
        ],
        data: extraData // if I put it on, extraData will be both in BBComponent and BCComponent
    }
];

理论上,BBData应该传递给BBComponent,BCData应该传递给BCComponent,但是对象this.route.snapshot.data(this.route ActivatedRoute的实例)是空的。对于路径 'a',数据已成功传入两个组件。

我不知道如何修复它,请帮助我。

首先检查您激活的路由属性。