4

如果我从商店获取我的 ember-data 模型并使用它转换到路由

var model = App.Foo.find(1);
router.transitionTo('foo', model);

它转换到下面的路线,我看到了 console.log

App.FooRoute = Ember.Route.extend({
    redirect: function() {
        console.log("redirect ...");                                         
        this.transitionTo('bar');
    }
});

如果我更改模型并再次转换,它仍然会记录控制台日志并且一切正常。但是,如果我连续 2 次在同一模型上进行查找,则控制台日志永远不会发生。当我逐步浏览 ember 源 (RC3) 时,我不明白为什么它会在这种情况下中止。

当我这样做时,为什么过渡会在 ember 中中止?

4

2 回答 2

1

我不确定您在问什么-您能否提供确切的代码来说明“更改模型并再次转换”和“在同一模型上连续查找 2 次”的意思?

除此之外...如果您正在使用已经激活的路线,则不会“重新输入”transitionTo路线,尽管我不确定这是否与此处相关-您能否澄清一下您在做什么?

于 2013-06-12T05:32:53.573 回答
1

我的解决方法是从路由转换按钮调用 store 方法,然后将其发送到我想要的组件。对我来说有点“hacky”,但有效的方法。

于 2016-08-30T17:08:54.370 回答