我是 ember js 的新手,我正在尝试了解路由:)
这是我的控制器代码:
App.AppController = Em.ArrayController.extend({
login: App.Login.create({}),
loginUser: function(){
$.ajax({
type: 'POST',
cache: false,
url: contextPath + 'user/register',
data:{name:this.login.name, email:this.login.email,password:this.login.password,confirmPassword:this.login.confirmPassword,acceptTerms:this.login.acceptTerms},
success: function(data) {
alert('success!');
},
error: function(jqXHR, textStatus, errorThrown) {
}
});
}
})
这是我使用该功能的地方:
App.ChooseServiceIndexRoute = Em.Route.extend({
redirect: function() {
var isLoggedIn = this.controllerFor('app').loginUser();
alert(isLoggedIn);
if(isLoggedIn){
this.transitionTo('chooseService');
}
else {
this.transitionTo('app');
}
}
});
看来,函数 loginUser 被调用,但警报(isLoggedIn)发生在函数完成之前。(警报(成功)发生在警报(isLoggedIn)之后。
我可以使用一些帮助来了解发生了什么。
谢谢!