Это должно быть что-то тривиальное, но я не могу понять это для моей жизни.
Что мне нужно - это поле ввода, которое по умолчанию заполняется для пользователя из значения из локального хранилища.
Проблема, с которой я столкнулся, заключается в том, что ни один из способов, которыми я обычно делаю это (загрузка jQuery, загрузка JS или (onload)
в теге HTML), кажется, не запускается, когда пользователь переключается на другую страницу. без перезагрузки. Я также пробовал ngOnInit()
, но, похоже, он работает до того, как DOM-контент страницы готов к редактированию и здесь не работает.
Вот мой код:
<form (submit)="editName($event)">
<div class="form-group">
<label for="nameInput">Name</label>
<!-- I want to insert the localStorage Value user_name into this input -->
<input type="name" class="form-control" id="nameInput" (onload)="initName()">
</div>
<button type="submit" class="btn btn-primary">Save changes</button>
</form>
Печальная попытка добиться этого также есть в моем component.ts:
initName() {
document.getElementById("nameInput").textContent = localStorage.getItem('user_name');
}
Сообщение об ошибке в моей консоли:
ERROR TypeError: Cannot read property 'user_name' of undefined