2017-03-20 6 views
0

HIは私が持っている、以下のボタン(複数可):NgIfクリック内側の角

<button *ngFor="let btn of _formBtn" [type]="(btn.type=='submit')?'submit':'button'" 
      class="btn btn-icon" 
      [ngClass]="btn.class" 
      (click) = "_btnClick(btn, _finalConfig, _formBtn)" 
      [disabled]="btn.disabled" 
      [hidden]="btn.hidden"> 
      <i *ngIf="btn.BtnType!='next'" [class]="btn.icon"></i> 
      <span>{{btn.label}}</span> 
      <i *ngIf="btn.BtnType=='next'" [class]="btn.icon"></i> 
     </button> 

それは正常に動作します。しかし今、btn.labelが「確認済み」になるたびに、_btnClickの代わりに別の関数を呼び出すようにロジックを修正したいと思います。条件に基づいて既存のクリックイベントを変更するにはどうすればよいですか? like ex:(click) = *ngIf="btn.label=='confirmed'"? _confirmBtnClicked(btn, _finalConfig, _formBtn) : "_btnClick(btn, _finalConfig, _formBtn);"静かな混乱した男。どのようにその男を行うにはどのようなアイデア?または私のシナリオのための他の良い提案?先輩に感謝します。

+2

ハンドラが1つあり、必要な機能を呼び出すためにその中に追加することはできませんか? – Rajesh

答えて

1

の値に基づいて異なるメソッドを呼び出すことができ、ラベルに応じて次に あなたのコンポーネントで:

public _confirmedClick(){ 
    if(this.btn.label === "confirmed"){ 
     this._confirmBtnClicked(this.btn, this._finalConfig, this._formBtn); 
    }else{ 
     this._btnClick(this.btn, this._finalConfig, this._formBtn); 
    } 
} 
+0

ありがとうジャイ!そんなことは考えなかった! – blackdaemon

+0

@blackdaemonあなたは大歓迎です。 – Jai

0

clickMe()のように1つのメソッドを作成し、btn.labelを渡します。その後、

(click) = "_confirmedClick()" 

:あなたは再びあなたが同じように確認することができ、別のメソッドを呼び出すことができますbtn.label

あるVinod

関連する問題