2016-05-11 8 views
0

私はドロップダウンを持っていて、APIに来るデータであらかじめ入力しておきたいテンプレートがあります。私は、コントローラのプロパティをsetupControllerフックから設定することを考えました。問題は、store.findAll()からの約束がレンダリングされる前にレンダリングされているように見えます。フック/パターンがあるので、テンプレートがレンダリングされる前にすべてがロードされます。Ember JS:店舗からあらかじめ入力されたコントローラーのプロパティーを設定する

+0

はこれを読んで:場合https://guides.emberjs.com/v2.5.0/routing/specifying-a-routes-model/ – Grapho

答えて

1

Ember.RSVP.hashを使用して複数のモデルをロードし、setupControllerで使用することをお勧めします。

このような何か:

export default Ember.Route.extend({ 
    model() { 
    return Ember.RSVP.hash({ 
     dropdowndata: this.store.findAll('model1'), 
     otherdata: this.store.findAll('model2') 
    }); 
    }, 
    setupController(controller, model){ 
    controller.set('dropdowndata', model.dropdowndata) 
    controller.set('model', model.otherdata) 
    } 
}); 
+0

は、それが問題を引き起こすことはないでしょうダイナミックセグメントが存在し、モデルがリンクを通過すると、ドロップダウンデータがロードされません。 – jpoiri

+0

はい、経路をブロックするためにafterModelフックを使用できます。 http://stackoverflow.com/questions/20521967/emberjs-how-to-load-multiple-models-on-the-same-route/20523407#20523407 – Kingpin2k

関連する問題