Параметры Angular 17 равны нулю из дочернего компонента и корня приложения

Я использую Angular 17 и SSR.

когда маршрутизатор: en/home/1 . Я добавляю инъекцию (ActivatedRoute). Но я не могу получить параметры из дочернего компонента или корневого компонента приложения. как получить параметры из дочернего компонента (меню приложения)

после кода:

app.routes.ts

      export const routes: Routes = [
  { path: ":lang/home/:id", component: HomeComponent },
];

app.config.ts

      export const appConfig: ApplicationConfig = {
  providers: [
    provideRouter(
      routes,
      withComponentInputBinding(),
      withRouterConfig({ paramsInheritanceStrategy: 'always' })
    ),
    provideClientHydration(),
    provideHttpClient(withFetch()),
  ],
};

app.comComponent.ts

       constructor(
    private translocoService: TranslocoService,
    @Inject(ActivatedRoute)private routeActive: ActivatedRoute,
    @Inject(DOCUMENT) private document: Document
  ) {
console.log(this.activatedRoute.snapshot.params['id']);

}

app.comComponent.html

        <div class="layout-wrapper layout-navbar-full layout-horizontal layout-without-menu">
      <div class="layout-container">
        <app-menu></app-menu>
            <router-outlet></router-outlet>
          </div>
        </div>
      </div>
    </div>

приложение-меню.компонент.тс:

      @Component({
  standalone: true,
  imports:[CommonModule, HorizontalMenuComponent, VerticalMenuComponent],
  selector: 'app-menu',
  templateUrl: './menu.component.html',
})
export class MenuComponent implements OnInit {
  private activatedRoute = inject(ActivatedRoute);

constructor (private router : Router){
console.log(this.activatedRoute.snapshot.params['id']);
}

0 ответов

Другие вопросы по тегам