0
私はこのようなとしての私のルートでモデルを持っている:ルートのモデルでfindAllを非同期に呼び出すのはどうですか?
model: function() {
return {
"first-levels":this.get('store').findAll('student')
};
}
はfindAllの非同期または同期、デフォルトでは、と呼ばれていますか?デフォルトの動作を無効にすることはできますか?
を参照してください。どちらの場合も最終的にthis.get( 'store')が返されるため、両方のモデルが似ています。 findAll( 'student'); (例えば、ハンドルバーから呼び出すと、最初のものはmodel.first-levelsとして呼び出され、2番目の呼び出し方法ではモデルに等しい) – Prageeth
このemberガイドの説明を読むhttps://guides.emberjs .com/v2.11.0/routing/specify-a-routes-model/'通常、モデルフックはEmber Dataレコードを返すべきですが、任意の約束オブジェクト(Ember Dataレコードは約束です)オブジェクトまたは配列。 Emberは、テンプレートをレンダリングする前にデータのロードが完了するまで待つ(約束が解決されるまで待つ)。 – kumkanillam
これは単にthis.get( 'store')を呼び出すと意味するのだが、findAll( 'student')は常に実際には非同期呼び出しがバックグラウンドで実行されますが、そのデータフェッチが完了するまで(約束が解決されるまで)、テンプレートはレンダリングされません。 – Prageeth