如何构造默认嵌套资源



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

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

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

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

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

在hashrocket博客上有一篇关于何时以及为什么嵌套路由的好文章。

从本质上讲,当您想要嵌套模板时,您应该嵌套路由,如果您不想渲染模板,则不要嵌套它们。

好的,有两种方法可以实现您想要的:

  1. 你可以在挂钩中重定向,例如afterModel。transitionTo([childRoute])
  2. 您可以使用{{render}}辅助对象来渲染父路由中所需的内容,并且只有父路由

我认为你想要选项2,因为实际上你不想要单独的url,你想要一个在你查看时碰巧有一些其他东西的帖子url。这就是为什么我认为你需要{{render}}

在网站的指南部分还有一个关于渲染助手的更详细的介绍。

最新更新