Angular Universal: крюк жизненного цикла, когда окно api становится доступным - PullRequest
1 голос
/ 05 марта 2019

Я реализовал рендеринг на стороне сервера с Angular Universal.У меня есть метод, который я хочу запустить, когда DOM является интерактивным, и становятся доступными API-интерфейсы браузера, такие как window.navigator (потому что я хочу что-то сделать с языком пользователя).

Есть ли хук жизненного цикла или какой-либо другой способ прослушивания, когда я могу использовать window.navigator?

1 Ответ

0 голосов
/ 06 марта 2019

Я протестировал локальный запуск моего сервера узлов и обнаружил, что ngOnInit() является подходящим местом для запуска кода навигатора. ngOnInit() будет вызвано на стороне сервера, но снова будет вызвано в браузере, поэтому вам нужно проверить правдиво навигатор:

ngOnInit() {
  if (this.window && this.window.navigator) {
    // do stuff
  }
}

Стоит отметить, что я использую провайдера окон для доступа к окну -

constructor(@Inject(WINDOW) private window: any) { }
...