2017-04-03 78 views
0

我想實現事件委託,但是我無法找到將ngFor局部變量傳遞給父項的方法。Angular 2將局部變量ngFor傳遞給父項

<ul (click)="doSomething(hero)"> 
    <li *ngFor="let hero of data">{{hero.name}}</li> 
    </ul> 

據此次活動代表團的技術,我需要點擊家長和檢查目標是什麼,我需要和運行監聽器。

可以做到這一點嗎?

+1

尚不清楚你想要達到的目標 –

+0

事件委託什麼。 – ng2user

+0

如果你要問的是如何處理每個「li」元素的點擊事件,你可以只用

  • {{hero.name} }
  • ,然後在你的doSomething函數中,你會得到你點擊的「英雄」 – Lys

    回答

    0

    這應該是工作

    export class YourComponent { 
     
        data = ['a', 'b']; 
     
    
     
        doSomething($event: any) { 
     
         //$event.data is 'a' 
     
        } 
     
    }
    <ul (click)="doSomething($event)"> 
     
         <li *ngFor="let hero of data" (click)="$event.data = hero;">{{hero}}</li> 
     
        </ul>

    +0

    您仍然在LI元素上添加單擊事件,所以它沒有任何價值,但謝謝。 – ng2user

    +0

    對,因爲'hero'是一個局部變量,並且與這個事件無關,所以你應該將它附加到事件上。 @ ng2user你認爲這個答案是否正確? – karser