Routing Ember.js如何嵌套路由?

Routing Ember.js如何嵌套路由?,routing,ember.js,Routing,Ember.js,抱歉,我是新加入ember.js的。我真的想做的是创建一个基于ember.js的应用程序,只用于管理部分。此应用程序应仅处理管理部分URLhttp://mydomain.com/admin/(例如:/admin/photos/,/admin/users)其他url应与普通url相同。我可以用ember.js做这个吗?是的,你可以。查看ember.js文档的这一部分了解更多信息:是的,您可以。查看ember.js文档的这一部分了解更多信息:您应该使用ember资源来嵌套路由。因此,对于您的示例,您

抱歉,我是新加入ember.js的。我真的想做的是创建一个基于ember.js的应用程序,只用于管理部分。此应用程序应仅处理管理部分URL
http://mydomain.com/admin/
(例如:/admin/photos/,/admin/users)其他url应与普通url相同。我可以用ember.js做这个吗?

是的,你可以。查看ember.js文档的这一部分了解更多信息:

是的,您可以。查看ember.js文档的这一部分了解更多信息:

您应该使用ember资源来嵌套路由。因此,对于您的示例,您希望执行以下操作:

AppName.Router.map(function() {
  this.resource('admin', function() {
    this.route('photos');
    this.route('users');
  });
});
上述操作将创建一个
/admin/photos
/admin/users
路由。mokane链接到了Ember文档中的正确位置,但是为了将来的证明,我想把答案放在帖子中,这样即使文档位置发生变化,其他人也可以看到答案


注:我想在下面的评论中包括Ugis Ozols提出的一个重要观点,即在余烬中,资源通常是名词,而路线通常是动词。因此,您通常会有一个类似于
/tweet
(这是一个名词)的资源,然后该资源有几个路由,如
创建
编辑
删除
,您应该使用余烬资源来嵌套路由。因此,对于您的示例,您希望执行以下操作:

AppName.Router.map(function() {
  this.resource('admin', function() {
    this.route('photos');
    this.route('users');
  });
});
上述操作将创建一个
/admin/photos
/admin/users
路由。mokane链接到了Ember文档中的正确位置,但是为了将来的证明,我想把答案放在帖子中,这样即使文档位置发生变化,其他人也可以看到答案


注:我想在下面的评论中包括Ugis Ozols提出的一个重要观点,即在余烬中,资源通常是名词,而路线通常是动词。因此,您通常会有一个资源,如
/tweet
(这是一个名词),然后有几个资源路由,如
创建
编辑
删除

,以防有人想知道何时使用
资源()
vs
路由()
——一般的经验法则是对名词使用
资源()
(在这种情况下,
管理员
照片
用户
)和
路线()
对于像
new
edit
这样的动词,或者像
favorites
starred
这样的形容词,我记得在Ember文档中读到过这一点。我想上面这样的情况会保证与一般的经验法则有一点偏差,因为没有其他方法来嵌套路线,对吗?如果我不同意,请纠正我“我错了——这是我认为你可以做到的唯一方法。那么像/admin/photos/new这样的路由呢?我似乎无法访问它们。在这里,admin实际上不是一个资源,更像是网站中为收集管理活动而保留的一个“部分”。以防有人想知道什么时候使用
resource()
vs
route())
-一般的经验法则是对名词使用
resource()
(在本例中为
admin
photos
users
)和
route()
对于像
new
edit
这样的动词,或者像
favorites
starred
这样的形容词,我记得在Ember文档中读到过这一点。我想上面这样的情况会保证与一般的经验法则有一点偏差,因为没有其他方法来嵌套路线,对吗?如果我不同意,请纠正我“我错了——这是我认为你可以做到的唯一方法。那么像/admin/photos/new这样的路由呢?我似乎无法访问它们。在这里,admin实际上不是一个资源,更像是网站中为收集管理活动而保留的“部分”。