0

我的问题涉及不久前集成到主 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) {

该参数究竟做了什么?

4

1 回答 1

1

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

从新的 Ember 文档中:

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

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

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

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

于 2013-01-03T15:10:48.410 回答