#angular
#angular
Вопрос:
Я отображаю страны, используя ngFor, вместе с полями ввода. Я использовал поля ввода для указания стоимости конкретного продукта и страны. Мой вопрос в том, как отобразить введенное значение с помощью ngModel, здесь я привязываю [index] с помощью ngModel.
Предположим, если я ввел 100 для страны Индия, это отлично сохраняется в базе данных. Но двусторонняя привязка данных не работает.
Кто-нибудь может, пожалуйста, помочь.
Комментарии:
1. Привет, если вы хотите двустороннюю привязку данных, просто замените
[(ngModel)]="x[i]"
на[(ngModel)]="x.name"
, чтобы она работала нормально2. Пожалуйста, предоставьте свой код.
3. просто измените эти строки, братан, о которых я упоминал в моем предыдущем комментарии
4. Я изменил это, но не работает, братан.
Ответ №1:
На самом деле вам не нужно привязываться к (keyup)
, если вы используете [(ngModel)]
Просто выполнение этого сделало бы:
<div class="admin-page">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="co col-md-12">
<li *ngFor="let x of countries;let i=index">
<div class="form-group" (click)="country(x)">
<label>{{x.name}}</label>
</div>
<input
type="text"
class="form-control"
[name]="'name_' i"
[(ngModel)]="countries[i].value"> <!-- or [(ngModel)]="x.value" for that matter-->
</li>
</div>
</div>
</div>
</div>
<pre>
{{ countries | json }}
</pre>
</div>
Вот рабочий образец StackBlitz для вашей ссылки.
Комментарии:
1. Спасибо за ваш ответ. Вы показываете данные в формате json ниже, но что мне нужно, так это ввести 100 в india, это значение, которое вы показываете в приведенном ниже json, но мне нужно отобразить в поле ввода.
2. Здесь ngModel должен действовать как двусторонняя привязка данных.