4

在指南中,我可以看到两种定义资源路由的方法,我想知道我应该使用哪种方法,为什么?


在这里找到:http: //emberjs.com/guides/routing/defining-your-routes/

App.Router.map(function() {
  this.resource('posts');
  this.resource('post', { path: '/posts/:post_id' });
});

在这里找到:http: //emberjs.com/guides/templates/links/

App.Router.map(function() {
  this.resource("posts", function(){
    this.route("post", { path: "/:post_id" });
  });
});

我发现必须定义 2 个资源很奇怪,posts而且post,当它实际上只是一个Post资源时。

4

1 回答 1

5

我相信当你这样做时

App.Router.map(function() {
  this.resource("posts", function(){
    this.route("post", { path: "/:post_id" });
  });
});

它在帖子模板的 {{outlet}} 内呈现帖子模板。

当你这样做时

App.Router.map(function() {
  this.resource('posts');
  this.resource('post', { path: '/posts/:post_id' });
});

当您访问 /posts/:post_id 时,帖子模板不会呈现

于 2013-02-25T01:47:27.840 回答