1
我在一个特定的弹出案例中为我提供了一个通用的角度飞镖问题: 如何在一个循环中使用角度飞镖的#特殊运算符?如何在for循环中寻址动态元素名称?
在我的情况下,我有一个用户列表,我想打开一个弹出窗口,点击详细信息。我使用了popupSource指令,该指令自动计算弹出式开放被触发的矩形#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>
我的理解是,飞镖角覆盖下#subjectParticipant变量 n次只保留循环中的最后一个。有没有办法将动态(例如,用户索引)附加到这个变量?
我正在使用material-popup,它使用PopupSourceDirective来保留弹出式触发矩形的信息。 当我尝试你的建议,我得到这个错误: EXCEPTION:NoSuchMethodError:类'PopupSourceDirective'没有实例getter'uniqueid'。 –
这是预期的。您可以尝试使用自定义指令而不是实际提供唯一ID的'popupSource',只是为了能够正确调查'#subjectParticipant'是否是'activeUser'还是整个'* ngFor'呈现的HTML。我确定它是前者。 我不知道如何找出你想解决的实际问题。 –
你说得对,我把这个popup的弹出源t放到了这个具体的弹出列表中,我遇到了问题 –