2017-06-20 71 views
0

試圖從*ngFor獲得attr.data-item-code選擇選項,我想要獲取數據屬性值,當我點擊一個按鈕。Angualr2如何獲取attr.data-item-code on(點擊)

<div> 
    <select> 
<option *ngFor="let x in players" [attr.data-item-code]="x.code">{{ x.name }}</option> 
</select> 
<button (click)="preview()">Preview Player</button> 
</div> 

我想是這樣,但低於該值null

<div #dt> 
    <select> 
<option *ngFor="let x in players" [attr.data-item-code]="x.code">{{ x.name }}</option> 
</select> 
<button (click)="preview(dt.getAttribute('data-item-code'))">Preview Player</button> 
</div> 

預覽功能: -

preview(code){ 
console.log(code) // returns null 
} 

有沒有辦法讓x.code當我點擊preview()

回答

1

您可以使用ngModel,稍後可以在preview()函數中使用selectedValue

<select [(ngModel)]="selectedValue"> 
    <option *ngFor="let x in players" [ngValue]="x.code">{{ x.name }}</option> 
</select> 

注意:您可以使用[ngValue]="x",則所需的屬性可以從對象selectedValue訪問。

+0

我已經這樣做了,以獲得玩家的名字。 – MrNew

+0

@MrNew,那麼最新的問題 – Satpal

+0

啊nvm是-.-弄糊塗了,我可以通過'x'來獲取整個對象。 – MrNew