获取angular2中的自定义html属性值

获取angular2中的自定义html属性值,angular,angular2-template,Angular,Angular2 Template,我正在使用Angular 2构建我的应用程序。这是我目前的代码: 模板 <select class="form-control input-xs" [(ngModel)]="filter.coordinatorId" name="coordinatorId" (ngModelChange)="onCoordinatorChange($event)"> &

我正在使用Angular 2构建我的应用程序。这是我目前的代码:

模板

<select class="form-control input-xs" [(ngModel)]="filter.coordinatorId" name="coordinatorId" (ngModelChange)="onCoordinatorChange($event)">                                                              
    <option *ngFor="let coordinator of coordinators; let i = index" [value]="coordinator.id" [selected]="i==0">{{coordinator.name}}</option>                                    
</select>
如您所见,我在
选项中设置了
[value]=“coordinator.id”
,因此我在警报中获得了
coordinator.id
值,如果我将其更改为
coordinator.name
,那么我将获得该值。但这里我想得到多个值,比如
coordinator.id
coordinator.name
coordinator.department
等等。因此,一个解决方案可以使用逗号分隔,但如果出现其他参数,这将很难看,很难维护。我是否有其他选项来编写函数,例如:

onCoordinatorChange(coordinatorId: number, name: string, department: string){
            alert(coordinatorId);
            //business logic
}

您可以使用
[ngValue]
而不是
[value]
,并传递
协调器
而不是
协调器.id

[ngValue]="coordinator"
但这需要更改为

[(ngModel)]="filter.coordinator"

使用
[ngValue]
而不是
[value]
,只需将整个对象设置为一个值,这样您就可以传递整个对象并访问其所有属性:

<select class="form-control input-xs" [(ngModel)]="filter.coordinator" name="coordinatorId" (ngModelChange)="onCoordinatorChange($event)">                                                              
    <option *ngFor="let coordinator of coordinators; let i = index" [ngValue]="coordinator" [selected]="i==0">{{coordinator.name}}</option>                                    
</select>

{{coordinator.name}

这两个令人惊叹的答案几乎都是在短时间内得到的,+1。不知道该接受什么;)接受Stefans。真有趣的情况,哈哈!写一篇关于stackoverflow meta的文章,并要求选择接受两个答案。;-)太麻烦了。我没有因为缺少代表而痛苦,所以不用担心;-)@GünterZöchbauer哈哈。。是的,你应该开始只回答赏金问题:两个很棒的答案几乎没时间就来了,+1。不知道该接受什么;)
<select class="form-control input-xs" [(ngModel)]="filter.coordinator" name="coordinatorId" (ngModelChange)="onCoordinatorChange($event)">                                                              
    <option *ngFor="let coordinator of coordinators; let i = index" [ngValue]="coordinator" [selected]="i==0">{{coordinator.name}}</option>                                    
</select>