Ваша функция weatherCity()
никогда не вызывается. Вот почему на вашей странице ничего не отображается, и ваша консоль возвращает ошибку.
Попробуйте вызвать его внутри вашего ngOnInit
блока:
ngOnInit() {
this.weatherCity('Washington');
}
Или связать его с кнопкой в HTML:
<button (click)="this.weatherCity('Washington')">Load Washington</button>
.. и проверьте результаты в консоли браузера.
Если вы получите результат там, вы можете связать его с помощью
{{ cityVisual.name }}
в любом месте вашего HTML.
Убедитесь, что вы отображаете имя только в том случае, если cityVisual
действительно определено, поместив ваш код в оператор *ngIf
:
<p *ngIf="cityVisual">
Weather works! {{cityVisual.name}}
</p>
SIDENOTE: Не забудьте отписаться от своей WeatherService
, если вы закончили извлекать города, или у вас будет утечка памяти.
Рассмотрите возможность сохранения подписки в переменной (например, citySubscription$
), чтобы вы могли звонить .unsubscribe()
в ngOnDestroy
(или в любое другое время, когда вы хотите отменить подписку)