1

我现在使用本教程创建了一个简单的身份验证:

http://www.embercasts.com/episodes/client-side-authentication-part-1

所以我创建了 AuthenticatedRoute,所有其他需要登录用户的路由都在扩展 AuthenticatedRoute。

在 beforeModel 中,我检查用户是否已登录。如果他没有登录,我会调用:this.transitionTo("login")

我现在的问题是:我怎样才能将整个登录表单放在面板中?我的想法是在 AuthenticatedRoute -> beforeModel 事件中打开面板,如果登录成功,请重试重定向。

我的想法,但我不知道如何实现它。

App.AuthenticatedRoute = Ember.Route.extend({
  beforeModel: function(transition) {
    if (!App.get("currentUser")) {
      transition.abort(); // loading spinner doesn't disappears if i call this??
      this.showLogin(transition);
    }
  },

  showLogin: function(transition) {
    var loginController = this.controllerFor("login");
    loginController.set("attemptedTransition", transition);

    // OPEN PANEL, if the panel gets closed, do nothing. If login successfull, redirect to attemptedTransition and hide the panel.
  }
});
4

1 回答 1

1

本页底部介绍了如何保持过渡并稍后重试。

本页介绍了如何设置模态,尽管在最近的 ember 版本中,您希望调用disconnectOutlet而不是将空模板渲染到模态出口中。

于 2013-10-01T09:09:47.093 回答