Я пытаюсь отобразить имя пользователя вошедшего в систему пользователя в моем HTML. Я использую Firebase для аутентификации и Angular 8 для основной разработки. Интеграция с Firebase полностью поддерживается и не вызывает проблем. Но когда я пытаюсь отобразить данные, извлеченные из имени пользователя firebase, я не могу этого сделать.
Я провел много поисков в Google, в том числе читал документацию по Angular CLI, а также просматривал различные предыдущие вопросы, задаваемые по stackoverflow, но, похоже, никак не могу понять это. Это мой код:
export class PortalComponent implements OnInit {
public username: string = null;
constructor() {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
this.username = user.displayName;
}
});
}
}
А это мой HTML-код:
<h2>Welcome {{username}}!</h2>
Как мне это исправить? Мой ожидаемый ответ должен быть примерно таким: Welcome Brian!
EDIT:
Я посмотрел много ответов, и большинство из них - правильные реализации, однако я не уверен, почему это не работает. Я все еще ищу ответы с полной угловой реализацией, но на данный момент я использовал jQuery, и он работает. Что я сделал:
Обновлен HTML:
<h2>Welcome <span id="username"></span>!</h2>
Обновлено TypeScript:
import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';
// Code removed for brevity
export class PortalComponent implements OnInit {
constructor() { }
ngOnInit() {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
$('#username').html(user.displayName);
}
});
}
}