Estás usando el node
variable en el segundo ngFor
fuera de su alcance. Esta variable solo existe dentro del elemento (y sus atributos) que ngFor
está actuando.
Lo que probablemente quiera hacer es esperar los cambios en el valor seleccionado de la primera selección, actualizar alguna variable en su controlador, lo que debería causar el segundo ngFor
para actualizar. Esto se puede hacer usando 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>