路由器只能在深度上运行一级而不在根目录

时间:2012-06-06 17:33:04

标签: ember.js ember-old-router

我正在尝试升级我的代码以使用emberjs master中的路由器而不是依赖于ember-routemanager。我的代码主要基于https://gist.github.com/2728699。我创造了一个小提琴来展示我在http://fiddle.jshell.net/pszvJ/19/show/#/posts

所说的话

当我点击“测试评论路线”和“测试评论显示”时。我从未得到我应该拥有的console.log,但它适用于两个“帖子”操作。

当我试图直接到达/。我得到了“找不到路径状态/”,即使/应该是我打印主入口点的根元素。事实上,记录了主要入口点,但之后失败了。

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

根据你的小提琴,你的路由器有状态:

  • root.posts.index(#/ posts)
  • root.posts.show(#/ posts / 42)
  • root.posts.comments.index(#/ posts / comments)
  • root.posts.comments.show(#/ posts / comments / 42)

如果你想处理像#/ posts / 42 / comments / 1这样的网址,“评论”状态必须嵌套在“posts.show”状态。

你无法直接达到“/”,因为你没有为该网址定义任何状态。

请参阅this fiddle