路由器或状态管理器或两者在 Ember.js



当前的余烬文档几乎没有提到状态。这是否意味着现在不应该使用它,而只应该使用构建在顶部的路由器?

我有点不清楚应用程序状态如何进行。我正在考虑的问题的一个例子是从登录屏幕转到两个或 3 个位置之一,具体取决于登录成功以及然后登录用户的管理员权限

值得庆幸的是,不再有StateManager,相反,我们只是使用路由器来做所有事情。例如,从任何控制器,您可以使用以下命令更改为所选路由:

this.transitionTo('login.invalid');

这将带你进入LoginInvalidRouteLoginInvalidControllerLoginInvalidView.因此,如果用户输入了错误的凭据,您可以将他们转发到该路由。

但是,如果用户成功登录,则可以将他们带到其帐户页面:

this.transitionTo('account.default');

如果他们是管理员,请转到管理员仪表板:

this.transitionTo('account.administrator');

如果您的路由器配置为如下,所有这些都可以正常工作:

App.Router.map(function() {
    this.resource('login', function() {
        this.route('index');
        this.route('invalid');
    });
    this.resource('account', function() {
        this.route('default');
        this.route('administrator');
    })
});

最新更新