Bạn đang sử dụng nút node biến trong ngFor thứ hai ngoài phạm vi của nó. Biến này chỉ tồn tại bên trong phần tử (và các thuộc tính của nó) mà ngFor đang hành động.
Những gì bạn có thể muốn làm là đợi các thay đổi đối với giá trị đã chọn của lựa chọn đầu tiên, cập nhật một số biến trong bộ điều khiển của bạn, sau đó sẽ gây ra ngFor thứ hai để cập nhật. Bạn có thể thực hiện việc này bằng cách sử dụng 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>