2016-03-06 8 views
7

私はV2.4のためのエンバーのマニュアルを読んでいる、と私は理解していない部分に出くわした:エンバードキュメント - 読み取り専用ネストされたデータ

一部のモデルには、深くネストされたオブジェクトである特性を有していてもよいですの読み取り専用データナイーブな解決策は、各ネストされたオブジェクトのモデルを定義し、hasManyとbelongsToを使用してネストされた関係を再作成することです。しかし、読み込み専用のデータを更新して保存する必要がないため、ほとんどの場合、大量のコードを作成することがあります。代わりの方法は、変換のない属性(DS.attr())を使用してこれらの関係を定義することです。これにより、余分なモデルを定義するオーバーヘッドなしに、計算されたプロパティとテンプレートの読み取り専用値に簡単にアクセスできます。

私の場合、私はデータを表示しているだけで、サーバーに保存されることはありません。ネストされたデータで見つかったすべての例では、ネストの各レベルごとに別々のモデルを設定し、次に「ナイーブなソリューション」と呼ばれる関係を設定しています。では、これについて正しい方法は何でしょうか?誰も私のためにこれを拡大してくださいできますか?前もって感謝します!

+0

このデータはどこから来ましたか?サーバーに永続化されていない場合、 'DS.attr()'ではなく、通常のハッシュです。 – locks

+1

これは私のためにクリアされたものです:http://thejsguy.com/2016/01/29/working-with-nested-data-in-ember-data-models.html –

+1

@AlexAloia結果を彼らが同じ状況に遭遇した場合、あなた自身の質問に答え、他の人が恩恵を受ける。あなたの質問は、私のコメントのように7回投票されました。 [良い答えを書く方法](http://stackoverflow.com/help/how-to-answer)を参照してください。 – jacefarm

答えて

0

コメントを見てみると、答えは次のようになります。

は、ルートオブジェクトを定義し、DS.attrとしてそのオブジェクトのフィールドを定義します()。タイプ情報なし。

ドット表記を使用してネストされたデータにアクセスすることはできますが、それ以上構造を指定する必要はありません。

このトピックの詳細については、次のリンクをご覧ください。

https://thejsguy.com/2016/01/29/working-with-nested-data-in-ember-data-models.html

関連する問題