使用新查询参数执行完整路径转换时,Ember TransitionAborted

Lin*_*nda 11 javascript ember.js

为什么在更改查询参数时执行完整路由转换时会抛出TransitionAborted错误?

我正在使用查询参数Ember guide(http://emberjs.com/guides/routing/query-params/)底部提供的" 通过刷新()进行完全转换的示例" .

我做的唯一更改是记录错误:

Ember.RSVP.configure('onerror', function(error) {
  Ember.Logger.assert(false, error);
});
Run Code Online (Sandbox Code Playgroud)

这是一个更新的JS Bin:http://jsbin.com/rerido/1/edit?console,output

如果单击"更改它"按钮,您将在控制台中看到抛出TransitionAborted错误.

我一直试图将我的应用程序中的Ember从1.7.0-beta.1 + canary升级一段时间,但是当我将它们全部一起运行时,我的许多QUnit测试都失败了.如果我单独运行它们,我的大多数测试都没问题.我怀疑TransitionAborted错误可能导致测试失败.但是,我不确定执行完全转换时TransitionAborted异常是否正常.如果任何人都可以通过某种方式确认,那么这对于解决我的问题的根本原因非常有帮助,无论它们是什么.

bk1*_*425 0

我今天也遇到这个问题了。我正在使用 Ember 1.11.1 和 Ember-data 1.1.1-beta.16.1。

就我而言,查询参数的更改不会影响模型的数据,而是影响另一个查询。因此,我最终所做的就是refreshModel: true从路由代码中的参数中删除 ,并在控制器上为该 URL 参数添加了一个观察者。因此,当控制器检测到该 queryParam 变量发生更改时,控制器会调用我重新查询辅助模型所需的函数。

我不确定如果查询参数与路线的模型绑定,这是否可以解决问题,因为我还没有在代码中尝试过。从上面评论中的 github 链接看来,某处存在一个已确认的错误,所以我很好奇这将如何结束。

布莱恩