Je gebruikt de node variabele in de tweede ngFor buiten zijn bereik. Deze variabele bestaat alleen binnen het element (en zijn attributen) dat de ngFor handelt naar.
Wat u waarschijnlijk wilt doen, is wachten op wijzigingen in de geselecteerde waarde van de eerste selectie, een variabele in uw controller bijwerken, wat dan de tweede ngFor zou moeten veroorzaken om te updaten. Dit kan gedaan worden met 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>