Как использовать двустороннюю привязку ngModel для привязки некоторых свойств одного объекта к другому объекту? - PullRequest
0 голосов
/ 05 ноября 2018

Возможно ли связать некоторые свойства одного объекта с другим объектом, используя двухстороннее связывание в Angular? Один пример как:

JS

object_1 {
    property1:string,
    property2:string,
    property3:string,
    property4:string
}

object_2 {
    property1:string,
    property2:string,
    property3:string
}

objects_1: object_1[];
objects_2: object_2[];

HTML

<ul>
  <li *ngFor="let object1 of objects_1">
    <input type="text" [(ngModel)]="object1.property1"> 
    <select [(ngModel)]="object1.property2+object1.property3+object1.property4">
        <option *ngFor="let object2 of objects_2" [ngValue]="object2">
        </option>
    </select>
  </li>
</ul>

Большое спасибо!

1 Ответ

0 голосов
/ 05 ноября 2018

нет, это невозможно, так как значение директивы ngModel будет установлено как выбранная опция элемента select (в данном случае). Так что это должно быть одно свойство для привязки.

Однако, если вы хотите присвоить значение выбранной опции нескольким свойствам, вы можете использовать ngModelChange eventEmitter для заполнения значений:

<select [ngModel]="object1.property2" (ngModelChange)="object1.property2 = $event; object1.property3 = $event; object1.property4 = $event"> ... </select> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...