Ember.js: this.transitionToを使用すると、モデルの読み込みがスキップされます

作成日 2013年12月22日  ·  3コメント  ·  ソース: emberjs/ember.js

これが意図的な行動かどうかはわかりませんが、説明させてください。 動的セグメントを持つルートでtransitionToを使用すると、宛先ルートのモデルメソッドが呼び出されません。 基本的に、IDを使用してパラメーターを渡すだけで、適切なモデルをロードしたいと思います。

モデルは正常に読み込まれますが、正しいURLでページを更新すると。 デモンストレーションのためにcodepenをまとめました。

http://codepen.io/anon/pen/LsfhB

現在のバージョンは、コンソール「I'mhere」にログアウトします。 IndexRouteを見ると、コメントアウトされた遷移があります。 これが有効になっている場合、「I'mhere」はトリガーされません。

これは予想されますか? その場合、確認ルートのモデルをどこにロードする必要がありますか?

最も参考になるコメント

トランジションをthis.transitionTo('confirm', 1);変更すると、期待どおりに機能します。

IIRCは、完全なモデルの代わりにプリミティブ(文字列、数値)を遷移に渡すと、それがIDであると判断し、それを使用してmodelの呼び出しのパラメーターを作成しますが、複雑なものを渡すと(この場合はオブジェクト)、モデルを通過したものとして扱い、モデルフックを呼び出しません。

APIドキュメントは、完全なモデルの代わりにIDを渡す例でおそらく行うことができます: http

それが理にかなっていることを願っています

全てのコメント3件

トランジションをthis.transitionTo('confirm', 1);変更すると、期待どおりに機能します。

IIRCは、完全なモデルの代わりにプリミティブ(文字列、数値)を遷移に渡すと、それがIDであると判断し、それを使用してmodelの呼び出しのパラメーターを作成しますが、複雑なものを渡すと(この場合はオブジェクト)、モデルを通過したものとして扱い、モデルフックを呼び出しません。

APIドキュメントは、完全なモデルの代わりにIDを渡す例でおそらく行うことができます: http

それが理にかなっていることを願っています

今は理にかなっています。 コメント後の最初の直感的な質問は、複数のパラメーターをどのように渡すかということでした。 しかし、それらを別々の引数として渡すだけのようです。

this.transitionTo('confirm.url', 1, 'the-slug-I-want');

それは私にとってはうまくいきます。

ここで質問します。すべて動的セグメントを持つサブルートを持つルートがある場合:
例えば
this.route( 'organization'、{path: 'organizations /:organization_id'}、function(){
this.route( 'project'、{path: 'projects /:project_id'}、function(){
this.route( 'screen'、{path: 'screens /:screen_id'});
});
そして私は別のルート、例えば認証ルートにいます。 this.transitionTo( 'organization.project.screen'に移動すると、
{organization_id: 'grege23-234-4c3e-96fe-234423'}、
{project_id: '234234-23423-4b99-a492-234'}、
{screen_id: '34534-48f4-471d-ad17-3'45});
モデルがロードされていないため、何も表示されません。
どうやってこれに行くことができますか?

このページは役に立ちましたか?
0 / 5 - 0 評価