我有一个普通的角镖问题,在特定的弹出式案例中为我提出了一个问题: 如何在循环中使用角度飞镖的#特殊运算符?
在我的情况下,我有一个用户列表,我想打开一个包含点击详细信息的弹出窗口。我使用了一个popupSource指令,该指令自动计算触发弹出窗口的Rectangle #subjectParticipant ,以便在其源旁边显示它。
问题在于它似乎占用了循环的最后一个矩形:所有用户弹出窗口都在同一位置打开
<li *ngFor="let activeUser of subject.users" >
<div class="profileImg"
(click)="popupUserInfoId = activeUser.userId"
popupSource #subjectParticipant="popupSource">
<img src="/auth/user/photo/s/{{activeUser.userId}}">
</div>
<info-popup *ngIf="popupUserInfoId == activeUser.userId"
[userId]="popupUserInfoId"
[source]="subjectParticipant"
[offsetX]="28"
[offsetY]="10"
[visible]="popupUserInfoId == activeUser.userId" >
</info-popup>
</li>
我的理解是dart angular会在 #subjectParticipant 下覆盖变量n次,并且只保留循环中的最后一个变量。有没有办法将动态(例如用户索引)附加到此变量?
答案 0 :(得分:2)
范围应在<li>
范围内,并且对于每个<li>
,应保持不同的subjectParticipant
值。
我怀疑你的问题来自其他地方。
如果popupSource
包含唯一值,则应通过添加
<div>{{subjectParticipant.uniqueid}}</div>
在*ngFor
内,并检查它是否为每个activeUser
呈现不同的值。