2017-05-06 2 views
0

I持って私のコンポーネントに次のコード:2つのコンポーネントが同じページに表示されている現実にエンバーストアfindRecord(同じページに同じパラメータで呼び出された場合)を解決一度だけ

hotelObserver: Ember.computed(function(){ 
    this.get("store").findRecord("hotel", "hotel1").then((hotel)=>{ 
     this.set("hotel", hotel); 
    }); 
}) 

、のみ最初の約束は解決される。 2番目の約束は、決して呼ばれません。だから私は、同じパラメータでfindRecordが2回以上呼び出されたときに問題が発生するだけだと考えました。これはバグですか、何か間違っていますか?

+0

'hotelObserver'このプロパティはobserverのように見えますが、計算されています。値を返さない計算されたプロパティでも使用できます。もう1つは計算されたプロパティは約束していません。 – kumkanillam

答えて

0

この呼び出しは、コンポーネントのinitフック、またはdidReceiveAttributesのコールで行うことができます。これは、init/on属性の更新時にデータをフェッチするかどうかによって異なります。

または、より良いことに、ルートのフックmodelでデータを取得してみませんか?そして、データをコンポーネントの引数として渡しますか?

関連する問題