Du bruger node
variabel i den anden ngFor
uden for dens rækkevidde. Denne variabel findes kun inde i elementet (og dets attributter), som ngFor
handler på.
Hvad du sandsynligvis vil gøre, er at vente på ændringer af den valgte værdi af det første valg, opdatere en eller anden variabel i din controller, som derefter skulle forårsage den anden ngFor
at opdatere. Dette kan gøres ved at bruge 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>