Как вызвать маршрутизируемый компонент в шаблоне в angular

#angular

#angular

Вопрос:

В Angular 7 у меня есть компонент, который реагирует на маршрут, подобный этому

 export class MyComponent implements OnInit {

ngOnInit() {
    this.route.paramMap.pipe(
            switchMap((params: ParamMap) => {
                return this.myService.get( params.get('id'));
            })
        )
            .subscribe( ...
  

Теперь в другом шаблоне компонента я хочу вызвать этот компонент непосредственно в шаблоне, как мне это сделать?

 <app-my></app-my>
  

Как мне предоставить параметр маршрутизации id ?

Ответ №1:

Просто используйте / add @Input и используйте стандартную привязку свойств.

MyComponent.ts

 export class MyComponent implements OnInit {

    @Input()
    id: string;

    ngOnInit() {
        if(!this.id)
        {
          this.route.paramMap.pipe(
                switchMap((params: ParamMap) => {
                    return this.myService.get( params.get('id'));
                })
            )
                .subscribe( ...
  

root-component.ts

 <app-my [id]="'some value'"></app-my>