0
因此,我已经在后端安装了一个简单的登录系统。登录&注销功能的作品,但我试图让状态管理去。我有以下状态经理:emberjs获取登录状态onload
App.loginStateManager = Ember.StateManager.create({
initialState: "unknown",
loggedIn: Ember.State.create({}),
loggedOut: Ember.State.create({}),
unknown: Ember.State.create({
enter: function() {
$.ajax({
url: "/loginstate",
type: "GET",
success: function(data) {
if(data == "loggedin") {
LocalBookFinder.loginStateManager.transitionTo("loggedIn");
}
else {
LocalBookFinder.loginStateManager.transitionTo("loggedOut");
}
}
});
}
})
});
我之所以在“未知”开始的应该loggedOut,是因为在页面加载,我要查询的服务器,以找出如果用户已经有了一个会话或不。所以这就是ajax逻辑。现在,状态确实进行了适当的更新,但由于我的视图已经加载,它显示了登录/注册链接。有没有办法将状态绑定到应用程序模板?
这让我走上了正确的道路。我完全删除了statemanager的使用。我将ajax请求移到ApplicationRoute setupController方法中。在那里我简单地调用controller.set(“loginState”,结果)。在模板中,按照你的建议使用controller.loginState。谢谢一堆! – agmcleod 2013-04-12 12:56:41
太棒了!这其实更像我在我的一个应用程序中处理它的方式。 – 2013-04-12 14:11:54
我喜欢简单。一个登录状态管理器是有道理的,但更新这些适当的也有点令人生畏,甚至可能是这样的矫枉过正。 – agmcleod 2013-04-12 14:34:31