我有以下angular
模板,其中显示了项目列表。
<div *ngFor="let i of immobili | async">
<div [ngSwitch]="edit" (update)="editUpdate($event)">
<immobile-detail (onEdit)="isEdit($event, i)" *ngSwitchCase="false" [immobile]="i" [idR]="idRichiesta"></immobile-detail>
<immobile-form (onEdit)="isEdit($event, i)" *ngSwitchCase="true" [immobile]="i" [idR]="idRichiesta"></immobile-form>
</div>
</div>
如果某个项目上发生了某个事件,我会显示两个不同的组件。问题是组件会更改每个项目,而不仅仅是我选择的项目。有没有办法只为我注册事件的项目切换组件?提前感谢您的提示。
修改 我会更好地解释 我有这样的情况:
<parent>
<div *ngFor="let i of immobili | async">
<child1></child1>
<child2></child2>
</div>
</parent>
因此,对于列表中的每个对象,我可以根据在两个子视图之一中创建的选择来显示组件child1
或child2
。我设法让孩子们使用@Output
指令与父母沟通,这很好。问题是,当我在两个孩子之间切换时,列表中所有对象的组件也会发生变化。我认为这是因为更改是在父级别进行的。相反,我想只更改引用我选择的元素的组件,可能会传递对象索引或其他东西
FYI最后我解决了我的问题,因为由于其他原因我使用了不同的方法(只有一个组件),但我真的很想知道如何做到这一点。感谢。