Actived Route не определен в конструкторе сервиса - PullRequest
0 голосов
/ 28 января 2020

Есть услуга trackUrlService, которая импортируется в CoreModule

export class TrackUrlService implements OnDestroy {

    ...

    constructor(private router: Router, private route: ActivatedRoute) {
        ...

        this.subs.add(
            this.route.params.subscribe((params: Params) => {
                console.log(params.workflowId); // output: undefined
                ...
            })
        );
    }
...

Есть компонент DummyComponent

ngOnInit() {
        this.subs.add(
            this.trackUrl.currWorkflowId.subscribe(currWorkflowId => {
                console.log(currWorkflowId); // output: undefined
            }),
            ...
            /* this.route.params.subscribe(params => {
                console.log(params.workflowId) // output: 391 (correct)
            }), */
         ...

ВОПРОС:

Почему вызов this.route.params из конструктора службы выводит undefined?

Но вызов this.route.params из компонентов ngOnInit() работает и выдает правильное значение.

1 Ответ

1 голос
/ 28 января 2020

Из ActivatedRoute документов: «Предоставляет доступ к информации о маршруте, связанном с компонентом, который загружен в розетку», т. Е. ActivatedRoute params отображается только внутри компонента маршрута.

...