我正在尝试通过<router-outlet>
发送@Input
装饰器,但似乎无法获取子组件中的数据,这是我正在做的事情:
<!--parent route calls the outlet -->
<router-outlet [unit]="unit?.unit"></router-outlet>
// child route input decorator
export class ClassRoomComponent OnInit {
@Input() unit: string;
// router module
...
path: 'unidade/:unit',
component: UnitComponent,
children: [
{
path: 'turma/:classroom',
component: ClassroomComponent,
}
]
},
科索尔.log还给我undefined
,为什么我不能这样送?
您尝试做的是将数据绑定到<router-outlet>
中呈现的组件。
但在这种情况下,您实际要做的是尝试将您的属性绑定到<router-outlet>
指令。这不起作用 - 它不会自动将绑定转移到子组件。
您需要改为以不同的方式传递数据。尝试使用服务、使用路由参数或使用 solve: https://angular.io/guide/router#resolve-pre-fetching-component-data 预取组件数据