Používáte node
proměnná ve druhém ngFor
mimo její rozsah. Tato proměnná existuje pouze uvnitř prvku (a jeho atributů), který je ngFor
jedná.
Pravděpodobně budete chtít počkat na změny vybrané hodnoty prvního výběru, aktualizovat nějakou proměnnou ve vašem ovladači, což by pak mělo způsobit druhý ngFor
k aktualizaci.To lze provést pomocí 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>