У меня есть поле ввода в файле компонента html в Angular 8
<!-- simplified -->
<form>
<div *ngFor="let r of reviews">
<input name="Text" value="{{ r.reviewText }}" [(ngModel)]="r.reviewText" />
</div>
</form>
[(ngModel)] обновляет (http помещает) данные обратно в базу данных. Проблема в том, что value="{{ r.reviewText }}"
не загружает данные, поскольку они существуют в базе данных, обратно в это поле при загрузке или перезагрузке страницы. Я могу напечатать вещи, но поле ввода всегда пусто при загрузке / перезагрузке. Это тот случай, если синтаксис value="{{ r.reviewText }}"
или [value]="r.reviewText"
.
Если я удаляю [(ngModel)]="r.reviewText"
- тогда данные загружаются в значение для этого поля, но тогда очевидно, что привязка с точки зрения обновления обратно в БД не работает. Это как если бы элементы ngModel и value были взаимоисключающими. Я понимаю [(ngModel)] как двойное связывание - но в этом случае это, кажется, только одно связывание - возвращение к БД нормально, но не наоборот. Я пробовал нечто подобное с textarea, но у него та же проблема, что и при вводе - он не отображает r.reviewText, но работает ngModel:
<textarea name="Text" [(ngModel)]="r.reviewText" >{{ r.reviewText }}</textarea>
Примечание: если я положу {{ r.reviewText }}
в другом месте на На странице, а не в теге input или textarea, данные из базы данных отображаются в этой позиции при загрузке / перезагрузке, а затем также отражают то, что я печатаю в поле ввода, когда я печатаю, - как и ожидалось.
Как Могу ли я отобразить содержимое БД для {{ r.reviewText }}
в параметре значения ввода при загрузке страницы или обновить sh, сохраняя возможность обновлять / сохранять обновленное содержимое в БД с помощью [(ngModel)]? Любой комментарий приветствуется, спасибо.