Вие използвате node
променлива във втория ngFor
извън неговия обхват. Тази променлива съществува само вътре в елемента (и неговите атрибути), който ngFor
действа върху.
Това, което вероятно искате да направите, е да изчакате промени в избраната стойност на първия select, да актуализирате някаква променлива във вашия контролер, което след това трябва да предизвика второто ngFor
за актуализиране. Това може да стане с помощта на 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>