Вот HTML-код:
<table class="table table-hover table-bordered table-striped table-highlight">
<thead>
<tr>
<th *ngFor="let cell of tableData2.headerRow">{{ cell }}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of tableData2.dataRows">
<td *ngFor="let cell of row">
<input type="text" class="form-control border-input" [(ngModel)]="cell" name="cell" />
</td>
</tr>
</tbody>
</table>
Вот соответствующий машинописный код:
declare interface TableData {
headerRow: string[];
dataRows: string[][];
}
public tableData2: TableData;
this.tableData2 = {
headerRow: ['Version', 'Approbateur(nom+fonction)', 'Principales remarques', 'Date d\'approbation'],
dataRows: [
['ahmed', '', '', ''],
['', '', '', ''],
['', '', '', ''],
['', '', '', ''],
['', '', '', ''],
['', '', '', ''],
['', '', '', ''],
]
};
Как вы могли заметить, двусторонняя привязка данных работает «в одном направлении», значение «ahmed» действительно отображается.
Однако, когда я изменяю значение ввода в таблице следующим образом:
И затем я консольLog переменную tableData2:
Как вы могли заметить, новое значение SAM не обновляется в переменная tabledata. Т.е. двусторонняя привязка данных не работает, и я не могу получить значения из таблицы.
Что я сделал не так?