如何检测选择/单击的属性

时间:2018-06-22 09:39:33

标签: javascript angular rest angular6

我试图检测从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"}
]

4 个答案:

答案 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内部。