ember中嵌套路由的'match'语法

时间:2013-01-01 06:28:57

标签: routing ember.js ember-router

我的问题涉及新的路由机制,它不久前已集成到master ember.js分支中。

在以下代码块中:

App.Router.map(function(match) {
  match("/comments").to("commentsIndex");
});

ember路由器现在识别注释url,并通过“to”方法的第一个参数(在本例中为“commentsIndex”)将路由处理程序映射到commentsIndexRoute。从这里,您可以选择使用视图/模板/控制器的默认映射,或者可以覆盖它们。

但是在以下嵌套路线中:

App.Router.map(function(match) {
  match("/posts").to("posts", function(match) {
    match("/").to("postsIndex");
    match("/:post_id").to("postShow");
  });
});

我现在不确定第一场比赛中“to”方法的第一个参数的作用是什么。换句话说,我不确定下面的大写参数的作用:

 match("/posts").to("POSTS", function(match) {

该参数究竟做了什么?

1 个答案:

答案 0 :(得分:1)

现在看来这是嵌入“视图”的推荐方式。

来自新的Ember文档:

  

访问 / posts 略有不同。它将首先将帖子模板呈现到应用程序模板的插座中。然后,它会将postIndex模板呈现到帖子模板的出口。

     

最后,访问/ posts / new将首先呈现帖子模板,   然后将newPost模板渲染到其出口。

http://emberjs.com/guides/routing/defining-your-routes/

因此,.to(“POSTS”)设置上下文以加载以下视图。