Необходимо загрузить переменную в розетку маршрутизатора

#angular #routing

#angular #маршруты

Вопрос:

Я хочу использовать одно и то же приложение Angular, но в зависимости от того, как оно загружено, я хочу загружать отдельные компоненты.

Как я могу получить переменную в моем приложении-routing.module.ts?

Это то, что я получил до сих пор:

index.html:

 <fp-app component-to-show="page2"></fp-app>
  

app-component.ts:

 componentToShow: string; 

constructor(
    private el: ElementRef,
  ) {
    const nativeEl: HTMLElement = el.nativeElement;
    this.moduleToShow = nativeEl.getAttribute('component-to-show');
  }

}
  

В app.component.html:

 <router-outlet componentToShow="componentToShow"></router-outlet>
  

И в app-routing.module.ts:

 const appRoutes: Routes = [
  {
    path: '',
    component: Component1
  }
];

const appRoutes2: Routes = [
  {
    path: '',
    component: Component2
  }
];

@NgModule({
  imports: [RouterModule.forRoot(appRoutes, { useHash: false })],
  exports: [RouterModule],
  entryComponents: [FormForetagsprofil]
})
export class AppRoutingModule {
  @Input('componentToShow') componentToShow: String;

  constructor() {
    console.log(this.componentToShow);
  }
  

Комментарии:

1. Не могли бы вы уточнить? Каковы ваши различные способы загрузки?

2. Добавлена моя предполагаемая загрузка другого компонента. Но моя первая проблема, я думаю, заключается в том, чтобы ввести переменную в розетку маршрутизатора.

3. Если вы хотите передать параметры через маршрутизатор и по расширению через URL-адрес, вы можете настроить его в appRouters: const appRoutes2: Routes = [{path: '/:somevariable',component: Component2}]; Затем вы можете либо подписаться на параметры маршрутизатора, либо получить моментальный снимок при инициализации компонента. Не совсем уверен, отвечаю ли я на ваш вопрос, потому что он немного расплывчатый.

4. попробуйте передать данные в конфигурации маршрута