Маршрутизатор getCurrentNavigation всегда возвращает ноль В последней версии Angular 7.2.6 я пытаюсь передать данные в сам маршрутизатор this.router.navigate(['other'], {state: {someData: 'qwert'}} В файле OtherComponent this.router.getCurrentNavigation() всегда возвращает ноль Stackblitz Link Angular Docs - getCurrentNavigation Angular Docs - состояние Ответ 1 Вы вызываете метод getCurrentNavigation слишком поздно. Навигация завершена. Вам нужно вызвать метод getCurrentNavigation внутри конструктора: constructor(private router: Router) { this.name = this.router.getCurrentNavigation().extras.state.example; } Или, если вы хотите получить доступ к навигации в ngOnInit, вы можете сделать следующее: ngOnInit() { this.name = history.state.example; } Ответ 2 измените код следующим образом, потому что после constructor() вызывается только ngOnInit(), поэтому значение становится нулевым constructor(private router: Router) { this.name = this.router.getCurrentNavigation().extras.state.example; }
Ответ 1 Вы вызываете метод getCurrentNavigation слишком поздно. Навигация завершена. Вам нужно вызвать метод getCurrentNavigation внутри конструктора: constructor(private router: Router) { this.name = this.router.getCurrentNavigation().extras.state.example; } Или, если вы хотите получить доступ к навигации в ngOnInit, вы можете сделать следующее: ngOnInit() { this.name = history.state.example; }
Ответ 2 измените код следующим образом, потому что после constructor() вызывается только ngOnInit(), поэтому значение становится нулевым constructor(private router: Router) { this.name = this.router.getCurrentNavigation().extras.state.example; }