#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. попробуйте передать данные в конфигурации маршрута