ember.js
とember-auth
gemを使用している次のコントローラーがあります。このコントローラーは機能しますloginError
が、サインインするたびにプロパティを設定します。
BaseApp.SignInController = Auth.SignInController.extend({
email: null,
password: null,
loginError: false,
signIn: function() {
this.registerRedirect();
Auth.signIn({
email: this.get('email'),
password: this.get('password')
});
this.set('loginError', true); // Sets correctly but each time
Auth.on('signInError', function() {
console.log("This is a signin error");
});
}
});
明らかに、私がやりたいことは、次のように呼び出される関数の内部に設定loginError
されています。true
Auth.on
BaseApp.SignInController = Auth.SignInController.extend({
email: null,
password: null,
loginError: false,
signIn: function() {
this.registerRedirect();
Auth.signIn({
email: this.get('email'),
password: this.get('password')
});
Auth.on('signInError', function() {
this.set('loginError', true); // Doesn't set the controller's property
console.log("This is a signin error");
});
}
});
ただし、コールバック内のスコープが異なるため、これは明らかに機能しません。たぶん私は非常に基本的なものが欠けています。どうすればそれを機能させることができますか?