EmberJS“此”更改了promise(查找)回调 [英] EmberJS "this" changed in promise (find) callback
本文介绍了EmberJS“此”更改了promise(查找)回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我想通过控制器操作从服务器获取帐户时,例如:
When I want to fetch an account from the server in an controller action e.g:
account: false,
actions: {
// When the oAuth popup returns this method will be called
fetchUser: function(id)
{
// Get the account from the server
this.store.find('account', id).then(function(account)
{
this.set('account', account);
}, function(error)
{
console.log('error', error);
});
},
}
由于 this.set('account',account)
行上的 this不再是控制器。
It throws an error because "this" on the line this.set('account', account)
is no longer the controller. How can I set "account" on the controller now from within this promise callback?
推荐答案
account: false,
actions: {
// When the oAuth popup returns this method will be called
fetchUser: function(id)
{
// Get the account from the server
this.store.find('account', id).then(function(account)
{
this.set('account', account);
}.bind(this), function(error)
{
console.log('error', error);
});
},
}
解决了!添加.bind(this):-)
Fixed it! added .bind(this) :-)
这篇关于EmberJS“此”更改了promise(查找)回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文