我试图检测从REST API中的ngFor中选择/单击了哪个属性。
我想从其他属性中选择哪个属性(经纪人。用户名)
<div class="list-group">
<ul *ngFor="let broker of brokers">
<li class="broker_list"> <a href="#" class="list-group-item list-group-item-action" style="text-align: center;">{{broker.username}}</a></li>
</ul>
</div>
这是REST调用
[
{ id: 1, username: "PersonA"},
{ id: 2, username: "PersonB"}
]
答案 0 :(得分:1)
您必须像这样在anchor tag上使用事件处理程序:
<div class="list-group">
<ul *ngFor="let broker of brokers">
<li class="broker_list">
<a (click)="onSelect(broker)" href="#" class="list-group-item list-group-item-action" style="text-align: center;"> {{ broker.username }}</a>
</li>
</ul>
</div>
在组件添加方法内:
@Component({ })
class XYZ {
// ... some code
public onSelect(broker) {
// Do what you need with broker?
}
}
答案 1 :(得分:0)
像这样直接在方法中传递经纪人
<div class="list-group">
<ul *ngFor="let broker of brokers">
<li class="broker_list"> <a href="#" (click)="setBroker(broker)" class="list-group-item list-group-item-action" style="text-align: center;">{{broker.username}}</a></li>
</ul>
</div>
答案 2 :(得分:0)
有几种方法,其中一种是做这样的事情。
1)在.then()
标签上添加点击处理程序:
a
2)向组件添加方法:
<div class="list-group">
<ul *ngFor="let broker of brokers">
<li class="broker_list"> <a href="#" (click)="selected(broker.username)" class="list-group-item list-group-item-action" style="text-align: center;">{{broker.username}}</a></li>
</ul>
</div>
答案 3 :(得分:0)
您可以添加一个(单击)属性,该属性调用一个函数,该函数将代理作为参数。然后,您可以访问该代理的用户名。
<a href="#" (click)="handleBrokerClicked(broker)" class="list-group-item list-group-item-action" style="text-align: center;">{{broker.username}}</a>
标签应该能够知道当前代理是什么,因为它位于* ngFor内部。