Я пытаюсь пути к модулю ребенка с маршрутом Params, мой app.routes выглядитУгловой маршрутизатор интерпретирует маршрут как параметр?
import { Routes, RouterModule } from '@angular/router';
const appRoutes: Routes = [
{ path: 'cell', loadChildren: './cell/cell.module#CellModule', pathMatch: 'prefix'}
];
export const appRoutingProviders: any[] = [];
export const routing = RouterModule.forRoot(appRoutes);
моего ребенок компонента (клетка) имеют следующие маршруты:
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { CellComponent } from './cell.component';
const cellRoutes: Routes = [
{ path: ':id', component: CellComponent, pathMatch: 'full' }
];
export const cellRouting: ModuleWithProviders = RouterModule.forChild(cellRoutes);
и CellComponent
выглядят следующим образом :
export class CellComponent implements OnInit {
@Input()
dep: string;
constructor(
private route: ActivatedRoute) { }
ngOnInit() {
this.route.params.forEach((params: Params) => {
this.dep = params['id'];
console.log(this.dep);
});
}
}
Я ожидаю, чтобы быть в состоянии назвать /cell/2
маршрут и получить 2
в м у консоли, однако, если я сделать этот вызов, я получаю сообщение об ошибке:
TypeError: Cannot read property 'length' of undefined
, который, как представляется, из-за использования неопределенного маршрута, и, если я просто позвонить /cell
тогда мой компонент нагрузки штраф и печатает cell
к консоль. Почему маршрутизатор интерпретирует маршрут как параметр?
Неа - это не поможет, я боюсь. Я уверен, что это проблема маршрутизации, поскольку компонент отлично работает в другом проекте (я реорганизую эту функциональность в новый модуль, что и вызвало проблему). –