2017-12-16 4 views
0

モデルフックにオブジェクトをマップしようとしています。私はこのオブジェクトをミラージュによって提供しています。emberマップオブジェクトからemberデータストア

let temp = {"users": [ 
    { 
     "id":1, 
     "forename":"Test", 
     "surname":"Name" 
    }, 
    { 
     "id":2, 
     "forename":"Hans", 
     "surname":"Solo" 
    }, 
    { 
     "id":3, 
     "forename":"Peter", 
     "surname":"Pan" 
    } 
] 

}私はこれを使用したいモデルフックで

return this.get('store').findAll('user').then(x => x.map(x => x.id + x.forename + x.surname)); 

私はこの取得しています:

1 [オブジェクトのオブジェクト]、[オブジェクトのオブジェクト] 2 [オブジェクトのオブジェクト] [オブジェクト オブジェクトを] 133000 [オブジェクトオブジェクト] [オブジェクトオブジェクト] 3 [オブジェクト オブジェクト] [オブジェクトオブジェクト]

これをテンプレートで使用しています私がちょうどIDにマップしようとしましたが、これはうまく動作しました。さらに、モデルのフックで直接温度を宣言するとうまく動作します。私の地図を妨げる何か約束はありますか?

私はember power select multiselectionを実装しており、ユーザーにID、forename、surenameを表示したいので、この作業が必要です。

答えて

1

Emberオブジェクトでストア内のすべてのPOJOをラップします。 POJOとは異なり、エンバーオブジェクトは、ゲッター/セッターを持っているとあなたが好きそれを使用する必要があります。

obj.get('property'); 
obj.set('property', 'value'); 

あなたがあなたのコードを変更する必要があります。ここでは

.then(x => x.map(x => x.get('id') + x.get('forename') + x.get('surname'))); 

は公式でゲッターとセッターについての唯一のいくつかの単語がありますガイド: Ember Guides(ページの下部にあります)また、get/set API(ガイド記事のAPIへのURL)も読むことができます。

また、computed propertiesをご覧ください。おそらく、これはあなたのケースで使用できるでしょう。

+0

Works!どうもありがとうございました – panx36

関連する問題