EmberJS路由澄清

shs*_*shs 2 ember.js

我还是Ember.js的新手.该嵌套的资源例如规定如下:

URL:        /post/:post_id/comments/new
Route Name: comments.new
Controller: App.CommentsNewController
Route:      App.CommentsNewRoute
Run Code Online (Sandbox Code Playgroud)

鉴于这种:

  1. "post"在URL中,但为什么"post"不在路由名称,控制器或路由中?
  2. 如何消除"帖子"中的新评论与其他领域的新评论之间的歧义?
  3. 我没有在路由创建代码中看到templateName选项,所以这会在控制器中设置吗?

谢谢!

编辑:这个问题是关于Ember Pre4.

Wil*_*ney 6

  1. 这是因为它post是一种资源,comments是一种资源,同时new也是一种途径.路由的路径开始最后的资源名,在这种情况下comments.我认为这是一个问题,正如你在第二个问题中所提到的那样,所以我希望这会改变PostCommentsNewController.

  2. 你现在还没有消除它们之间的歧义,但是期望它在5之前.

  3. templateName除非您手动插入视图,否则无需指定.对于/#/ pets, Ember将首先查询App.PetsRoute,定位/实例化App.PetsController和实例化App.PetsView.App.PetsView将插入到具有data-template-name" 宠物 " 的模板中.