Меняя чекбокс, менять значение поля в объекте. Angular 4

121
06 мая 2019, 15:10

Есть таблица, строки которой динамически формируются из массива. Большинство колонок - это характеристики "да/нет". В каждой характеристике в массиве стоит значение selected. При выводе верстки значение чекбокса checked зависит от selected. Вывод происходит без проблем. Но я не могу сообразить, как сделать обратную зависимость, чтобы при смене состояния чекбокса соответствующее значение заносилось в объект. Вроде элементарная задача, а найти решения не могу уже несколько часов. Вот общая картина верстки этой таблицы:

<table class="newnew" [attr.data-vehicles]="1">
   <thead>
      <tr>
         <th *ngFor="let item of arrayObjects">{{item.name}}</th>
      </tr>
   </thead>
   <tbody>
      <tr *ngFor="let item of arrayObjects; let i = index" [attr.data-index]="i">
         <td *ngFor="let item of routeVehicle.vehicleQualities">
            <input [attr.data-uuid]="item.uuid" type="checkbox" [checked]="item.selected" (change)="changeCheckbox($event)">
         </td>
      </tr>
   </tbody>
</table>
Answer 1

Раз:

public changeCheckbox(item: Item): void {
    item.selected = !item.selected;
}

Также в шаблоне нужно передавать аргументом не событие, а сам объект item:

(change)="changeCheckbox(item)"

Два:

<input type="checkbox" [(ngModel)]="item.selected" [ngModelOptions]="{ standalone: true }">
READ ALSO
Отправка POST запроса на сторонний сервер

Отправка POST запроса на сторонний сервер

Необходимо оправить JSON объект на сторонний сервер и получить от него ответАутентификация пользователя на сервере организована с помощью...

149
Как навесить колбек на &ldquo;Did you forget to signal async completion?&rdquo; в Gulp

Как навесить колбек на “Did you forget to signal async completion?” в Gulp

Есть gulpseries, в котором несколько функций

145
Mysql. Бесконечный INSERT данных

Mysql. Бесконечный INSERT данных

Столкнулся внезапно с такой проблемой

145
Ajax все равно обновляет страницу. ASP.NET Core

Ajax все равно обновляет страницу. ASP.NET Core

Есть асинхронный запрос AJAX, который норм работает, данные в контроллер ходят без проблем и на контроллере тоже все норм работаетКонтроллер...

174