当前的余烬文档几乎没有提到状态。这是否意味着现在不应该使用它,而只应该使用构建在顶部的路由器?
我有点不清楚应用程序状态如何进行。我正在考虑的问题的一个例子是从登录屏幕转到两个或 3 个位置之一,具体取决于登录成功以及然后登录用户的管理员权限
值得庆幸的是,不再有StateManager
,相反,我们只是使用路由器来做所有事情。例如,从任何控制器,您可以使用以下命令更改为所选路由:
this.transitionTo('login.invalid');
这将带你进入LoginInvalidRoute
,LoginInvalidController
和LoginInvalidView
.因此,如果用户输入了错误的凭据,您可以将他们转发到该路由。
但是,如果用户成功登录,则可以将他们带到其帐户页面:
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');
})
});