Как получить ActiveRoute из pageRoute.activationRoute наблюдаемого? - PullRequest
0 голосов
/ 07 января 2019

Мне нужно передать ActiveRoute в параметр относительного значения RouterExtensions.navigate ().

this.routerExtensions.navigate(['page', {relativeTo: this.activeRoute}]);

Я использую следующий код для наблюдения наблюдаемых параметров PageRoute.activationRoute, но не могу понять, что мне нужно сделать, чтобы отслеживать саму наблюдаемую activRoute.

constructor(private pageRoute: PageRoute, private routerExtensions: RouterExtensions) {
    this.pageRoute.activatedRoute.pipe(
        switchMap(activatedRoute => activatedRoute.params))
        .forEach((params) => {
            this.id = +params["id"];
        }
    );
}

Я пытался использовать кран для отслеживания activRoute, но он не может разрешить URL:

JS: ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'page'

Пример с tap:

constructor(private pageRoute: PageRoute, private routerExtensions: RouterExtensions) {
    this.pageRoute.activatedRoute.pipe(
        tap(activatedRoute => this.activatedRoute = activatedRoute),
        switchMap(activatedRoute => activatedRoute.params))
        .forEach((params) => {
            this.id = +params["id"];
        }
    );
}
...