Перенаправление из ngOnInit() и последующих хуков, вызывающих перезагрузку текущего компонента

Попытка перенаправить на новый компонент из одного из хуков, таких как ngOnInit(), ngAfterViewInit(), основываясь на предоставленном параметре. Текущий компонент выполняется несколько раз, если нажата строка навигации маршрутизатора.

отработанное решение:

setTimeout(() -> { this.router.navigate(link)); //recently upgraded angular 3 to 4.0.0 router       

основной модуль:

 RouterModule.forChild([
        { path: 'referrer/:vehicle/:referrer', component: ReferrerComponent },
        { path: 'referrer/:referrer', component: ReferrerComponent },
        { path: 'vehicle', component: vehicleComponent},
    ])

маршрут: http: // localhost: 4200 / # / referrer / vehicle1 / referrer1

ReferrerComponent:

    ngOnInit() {

          this.routeObservable = this.route.params.subscribe((params) => {

               if(params["referrer"]) { // do referrer stuff;}

               if(params["vehicle"] == "vehicle1") {

                  this.router.navigate('/vehicle'); //redirect to vehicle component
               }
         });
    }

Поскольку это происходит только в том случае, если на самом деле происходит перенаправление, не знаю точно, куда поместить маршрут (жизненный цикл).

0 ответов

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