1

有没有办法为 Ember 中所有生成的路由指定默认值?例如,在执行任何操作之前,我需要检查每条路由以查看用户是否已登录。是的,我可以创建一个身份验证路由,然后从中扩展每条路由,但是 ew。然后我到处都有这些空路由,只是因为我需要扩展默认值以外的其他东西。

有没有其他方法可以做这样的事情?最好是不需要我为应用程序中的每个视图创建路由的东西。想法?

编辑

为了进一步澄清我不想要的东西,这是我的路线文件之一:

import AuthenticatedRoute from '../routes/authenticated';
export default AuthenticatedRoute.extend();
4

1 回答 1

0

您可以创建一个作为经过身份验证的路由的父资源,然后将所有应该经过身份验证的路由放在它下面。除非您通过 auth 路线,否则您无法到达子路线。老实说,即使使用您当前的结构, an 下的所有子路由AuthenticatedRoute都将被视为经过身份验证,因为它们必须通过该路由才能到达那里。(虽然我更喜欢路由器中的显式身份验证路由)

App.Router.map(function() {
  this.resource('auth', {path:''}, function(){
    this.resource('foo');
    this.resource('bar', function(){
      this.route('baz')
    });
  });
  this.route('login');
});

这是一个类似的问题,我遇到的模式是:

使用 Firebase 简单登录保护路由

于 2014-06-23T23:20:41.827 回答