Переслать состояние с navigateByUrl в Angular - PullRequest
0 голосов
/ 30 марта 2020

я хочу передать некоторые данные, при изменении представления с navigateByUrl, например

this.router.navigateByUrl(url, {state: {hello: "world"}});

В следующем представлении я хочу просто зарегистрировать атрибут hello, например

constructor(public router: Router) { }

  ngOnInit(): void {
    console.log(this.router.getCurrentNavigation().extras.state.hello)
  }

Когда я Теперь сделайте это так, я получаю сообщение об ошибке:

ERROR TypeError: Cannot read property 'extras' of null
    at ProfileContactViewComponent.ngOnInit

Я делаю это правильно или есть лучший способ передачи данных между представлениями? Спасибо за вашу помощь.

1 Ответ

1 голос
/ 30 марта 2020

Попробуйте вот так

Отправить:

this.router.navigate([url], { state: { hello: 'world' } });

Получить:

constructor(private router: Router) {
  console.log(this.router.getCurrentNavigation().extras.state.hello); // should log out 'hello'
}

Для лучшего понимания прочитайте документацию. ПФБ ссылка на документацию https://angular.io/api/router/NavigationExtras#state

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...