1

我的(当前嵌套的)资源的结构存在问题:

我的结构:帖子->帖子->评论->新

到目前为止我的代码:http : //jsbin.com/ewoqed/6/edit

如果你点击进入帖子,然后点击View Comments,然后点击Add Comment,这几乎是我想要的效果。但是,我希望这是 UI 的默认行为,而不必单击链接。因此,不必去/posts/1/comments/new,它只是/posts/1,并且所有模板都将从那里呈现。

我有一种直觉,我不必要地嵌套了我的路线,但我不确定如何在我的 PostController 的负载上附加额外的数据(评论和新的评论记录)。这可能吗?

4

2 回答 2

4

hashrocket 博客上有一篇很棒的文章,介绍了何时以及为什么要嵌套路由。

本质上,当你想嵌套模板时,你应该嵌套你的路由,如果你不想渲染模板,就不要嵌套它们。

于 2013-08-12T13:13:03.813 回答
3

好的,有两种方法可以完成您想要的:

  1. 您可以通过执行 this.transitionTo([childRoute]) 在挂钩中重定向,例如 afterModel
  2. 您可以使用{{render}}帮助器在父路由中渲染您需要的内容,并且只有父路由

我认为您想要选项 2,因为您真的不想要单独的网址,您想要一个在查看时碰巧有其他内容的帖子网址。这就是为什么我认为你需要 {{render}}

在网站的指南部分也有更详细的渲染助手介绍。

于 2013-08-12T13:57:54.390 回答