我有一个currentUser objectController:
App.CurrentUserController = Em.ObjectController.extend({
username: 'Test',
email : 'test@test.com'
})
当用户登录时,我想设置currentUser的用户名,电子邮件等:
App.LoginController = Ember.Controller.extend({
needs: 'currentUser',
login: function(){
var self = this;
var data = this.getProperties('username', 'password');
self.set('errorMessage', null);
$.ajax({
type: "POST",
url: url,
mimeType: "text/xml",
success: function(response){
App.CurrentUser.set('username', data.username);
App.CurrentUser.set('email', data.email);
self.transitionToRoute('home');
},
error: function(){
self.set('errorMessage', true);
}
});
}
});
我上面试过没有运气。
答案 0 :(得分:0)
没有可用的App.CurrentUser实例。
App.CurrentUser.set('username', data.username);
由于您正在使用'需要',您可以像这样访问该控制器:
this.get('controllers.currentUser')
确保您的&#39; <&#39; 在您的XHR回复中正确绑定。
最后,由于Ember getter / setters支持&#39;路径&#39;,您可以设置如下属性:
this.set('controllers.currentUser.email', data.email);