2016-07-05 8 views
2

皆さん、私は初心者の問題を抱えています。何か違いがあれば、これはember 2.6にあります。基本的には、ボタンがコンポーネント内で押されたときに、画面上のテキストを変更しようとしています。ここではハンドルバーとコンポーネントのjsコードです:Ember.js this.set()は内部の動作から作業していません

<h2>Stupid Button</h2> 
<div> 
    <form id="sign_in_form" {{action 'triggerTheAction' on='submit'}}> 
    <button id="signin" type="submit">FIRE!</button> 
    {{someTextThatShouldChange}} 
    </form> 
</div> 

とコンポーネントのJSコード:

export default Ember.Component.extend({ 
    someTextThatShouldChange: 'Initial Value', 
    actions: { 
    triggerTheAction: (email, password) => { 
     alert('alerts just fine'); 
     this.set('someTextThatShouldChange', 'New value for text!'); 
    }  
    } 
}); 

私はコンソールで取得エラー:

TypeError: _this.set is not a function 

は本当に助けに感謝。私はEmberについて何か基本的なことを理解していない気がします。

答えて

2

アクションハンドラを定義するために矢印関数を使用しています。つまり、外側のスコープにはthisがバインドされています。これは、あなたのケースではES6モジュールです。この仕様では、モジュールのthisundefinedです。

+0

ありがとう、ありがとうございます。 –

関連する問題