2016-11-18 6 views
0

My Nativescript角度アプリはアイテムのリストとしてデータを動的に返します。各アイテムについて、* ngForを使用して、タップイベントが付いたボタンを作成します。私はタップにcssClassを追加する必要があるので、パラメータとしてボタン自体を渡したいと思います。しかし、データが動的なのでViewChildを使用することはできません。これをどのように達成するのですか?Nativescript Angular:タップイベントのパラメータとしてボタンビューを渡す方法は?

<Button *ngFor="let item of items" [text]="item.name" (tap)="select(item, buttonObject ?)></Button> 


select(item, buttonObject) { 
    let button = <View>buttonObject.nativeElement; 
    ... 
} 

ご協力いただきありがとうございます。すべてのボタンを取得するためには、@HabibKazemiが提供するソリューションに加えて、将来的には同じ答えを探して、他の誰かのために

<Button #myButton *ngFor="let item of items" 
    [text]="item.name" (tap)="select(item, myButton)></Button> 


select(item, buttonObject) { 
    let button = buttonObject; 
} 

答えて

1

::)が

1

これは、ローカル変数を使用して行うことができます親ビューでは、次のようにします。

select(button, item) { 
    let parent = button.parent; 
    let count = parent.getChildrenCount(); 
    for (var c = 0; c < count; c++) { 
    let btn = parent.getChildAt(c); 
    btn.color = "black"; 
    } 
    button.color = "white; 
} 
関連する問題