Du använder node
variabel i den andra ngFor
utanför dess räckvidd. Denna variabel finns bara i elementet (och dess attribut) som ngFor
agerar på.
Vad du antagligen vill göra är att vänta på ändringar av det valda värdet för det första urvalet, uppdatera någon variabel i din styrenhet, vilket sedan bör orsaka den andra ngFor
att uppdatera. Detta kan göras genom att använda ngModelChange
:
<div class="row">
<div class="col-md-12">
<label>Choose a room</label>
<select [(ngModel)]="nodes" (ngModelChange)="selectedNode=$event.target.value">
<option *ngFor="let node of nodes"[ngValue]="node">{{node.name}}</option>
</select>
<br/><br/>
<label>Choose an item</label>
<div *ngFor="let module of selectedNode.modules">
<select [(ngModel)]="channels">
<option *ngFor="let channel of module.channels">
{{channel.name}}
</option>
</select>
</div>
</div>