2017-11-01 18 views
1

クリックイベントが呼び出されたときに関数を呼び出す角度4のトグルを作成しようとしています。角2+ 2つの異なるケースのトグルを作成する

<button (click)="toggle()">Toggle Button</button> 

そして.TSに、私はこのような何かしたいファイル:私はこれをどのように行うのか...基本的に私は2つの異なるアクションを持ちたい

toggle() { 

    alert('toggle case 1') 

    else 

    alert('toggle case 2'); 

} 

を?

+0

ファイルテンプレートがhttps://plnkr.co/edit/oLkktUH5zZePlcAsWumq?p=info、これはあなたを助けることがあり、この例を参照してみてください –

答えて

1

あなたはちょうどあなたが次の操作を行うことができ、簡単なブールトグルする必要がある場合:

<button (click)="toggle()">Toggle Button</button> 

class MyComponent { 
    isToggled: boolean; 

    toggle() { 
    this.isToggled = !this.isToggled; 
    } 
} 

必要であれば、あなたは、あなたのビューでisToggledを使用することができます。

あなたがそうのようなあなたの toggle()方法を拡張することができ、より複雑なものについては

toggle() { 
    this.isToggled = !this.isToggled; 

    if (this.isToggled) { 
    // do something, we've just been toggled on 
    } else { 
    // do something else, we've just been toggled off 
    } 
} 
+0

私はそこにelseが必要ですので、それぞれのケースにアクションを追加することができます – pedromartinez

+0

私は自分の答えを更新しましたが、そのメソッドはトグル状態を追跡するための単なる例でした。 – UncleDave

1

あなたは、その値によって、あなたのコンポーネントとの行為にブールを宣言する必要があります。

<button (click)="toggle()">Toggle Button</button> 

toggleFlag:boolean=false; 

toggle() { 
    this.toggleFlag=!this.toggleFlag; 
    if(this.toggleFlag) 
     alert('toggle case 1')  
    else 
     alert('toggle case 2'); 
} 
1

<button (click)="toggle()">Toggle Button</button> 

.TSは

button_clicked = false; 

toggle() { 
    this.button_clicked = !this.button_clicked; 
    if(this.button_clicked) 
    { 
     // call function 1 
    } 
    else 
    { 
     // call function 2 
    } 
} 
関連する問題