2016-05-04 8 views
0

を扱う結合&イベントコンポーネントクラスは次のようになります。だから、AngularJS 2.0は、私はAngularJS 2.0</p> <p>私の非常に単純なシナリオは、このようなコンポーネントの属性のプロパティにバインドされた選択ボックス、で構成されて遊んでい

export class MyComponent 
{ 
    constructor 
    (
     public zeitraum: number = 10, 
     public result: number = 0 
    ) 
    { 

    } 

    public calculate() 
    { 
     this.result = this.zeitraum * 5; 
    } 
} 

、私はオプションのカップルと選択ボックスを持っていると私は、次の動作をしたい:新しいオプションが選択されている場合、(計算を呼び出します)メソッドでは、単に「zeitraum」に5を掛け、次に「結果」の値を設定してページに表示します。計算メソッドが呼び出されるが、それは「zeitraum」(つまり、新しいオプションが選択された前の値である)のOLD値を使用して次のように

<h1>Result: {{result}}</h1> 

問題があります。

ここではどのイベントを使用するのか不思議です。私は(mouseleave)と(mousemove)イベントを使って回避策を試しましたが、それはうまくいくように見えましたが、これは本当に汚いハックなので、より洗練されたソリューションが必要です。

私は間違ったイベントを使用しているか、角度コードで何か問題があります。

誰か提案がありますか?ありがとうございます。

答えて

0

あなたはこのようにそれを行うことができるはず:

<select [(ngModel)]="zeitraum" (change)="calculate($event.target.value)"> 
    <option>....</option> 
</select> 

public calculate(zeitraum) 
{ 
    this.result = zeitraum * 5; 
} 
+0

私はあなたのソリューションを試してみましたが、それは結果には影響しません。 – Philipp

関連する問題