【问题标题】:Router v2.1 transitionTo does not work路由器 v2.1 transitionTo 不起作用
【发布时间】:2013-01-11 11:37:56
【问题描述】:

我正在尝试使用新的路由器 API (at commit 6a165ad),但遇到了一些问题。

鉴于此路由器:

Router.map(function(match) {
  match("/posts").to("posts", function(match) {
    match("/new").to('new', function(match) {
      match("/author").to('author');
    });
  });
});

我正在尝试转换到new 路由。

使用 new.index: this.transitionTo('new.index')

它有效,但正如您所见,路线名称并不是很明确(我们甚至不知道它是针对新帖子的)。因此,这不是一个可行的解决方案。

使用 posts.new: this.transitionTo('posts.new')

我希望它可以工作,但是抛出了一个错误:

找不到路由posts.new

我相信到索引的转换是自动完成的,但似乎不是。

使用自定义路由名称:

由于上面指定的提交,Ember 允许自定义路由命名。由于我之前的尝试不起作用,我尝试将new 路由强制为posts.new,但它仍然不起作用(同理,如果它是foo.new)。

似乎无法转到具有嵌套路由的自定义路由。

TL;DR

  • 我想转换到new 路由(并指定posts)。应该怎么做?
  • 在路由器 v2.1 之前,我的路由有没有to 的子路由(即match("/posts", function(match) { ... })),它仍然有效吗?如果有,它的孩子叫什么名字?

【问题讨论】:

    标签: ember.js transition router


    【解决方案1】:

    这实际上是 Ember 中的一个错误。因为index 是隐式的,所以您不需要显式提供它。

    该错误已在 master 上修复。

    如果你想去一个有子路由的路由,你应该transitionTo指定的路由名称,Ember会自动为你添加index

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2015-11-25
      • 2018-08-15
      • 2017-02-24
      • 1970-01-01
      相关资源
      最近更新 更多