我正在尝试使用新的路由器 API(在提交 6a165ad 时),但我遇到了一些问题。
鉴于此路由器:
Router.map(function(match) {
match("/posts").to("posts", function(match) {
match("/new").to('new', function(match) {
match("/author").to('author');
});
});
});
我正在尝试过渡到new
路线。
使用新索引: this.transitionTo('new.index')
它可以工作,但是正如您所看到的那样,路由名称并不是很明确(我们甚至不知道它是针对新帖子的)。因此,这不是一个可行的解决方案。
使用posts.new: this.transitionTo('posts.new')
我希望它可以工作,但是会引发错误:
posts.new
找不到路线。
我相信向索引的过渡是自动进行的,但似乎不是。
使用自定义路由名称:
由于上面指定的提交,Ember 允许自定义路由命名。由于我之前的尝试不起作用,我试图强制new
路由为posts.new
,但它仍然不起作用(同理,如果它是foo.new
)。
看起来不可能转到具有嵌套路由的自定义路由。
TL;博士
- 我想过渡到
new
路线(并指定posts
)。应该怎么做? - 在路由器 v2.1 之前,我有没有孩子的路由
to
(即match("/posts", function(match) { ... })
),它还在工作吗?如果是这样,它的孩子叫什么名字?