2

次のjsonデータがあります。

{
    "type": "type1",
    "name": "Name1",
    "properties": {
        "age": 23,
        "address": "Sample"
    }
}

次のように、これを でモデリングしてEmber Dataいます。

App.Node = DS.Model.extend({
    type: DS.attr('string'),
    name: DS.attr('string'),
    properties: DS.belongsTo('App.NodeProperties')
});

App.NodeProperties = DS.Model.extend({
    age: DS.attr('number'),
    address: DS.attr('string')
});

propertiesを使用するよりもネストされたをモデル化するためのより良い方法はありDS.belongsToますか? テンプレートで年齢にアクセスするにはどうすればよいですか。私は現在やっています

{{node.properties.age}}

しかし、これが機能しているかどうかはわかりません。

4

1 に答える 1

4

DS.belongsTo を使用するよりも、ネストされたプロパティをモデル化するためのより良い方法はありますか?

ユースケースを考えると、DS.belongsTo は適切な選択です。

テンプレートで年齢にアクセスするにはどうすればよいですか?

{{node.properties.age}}{{node}}それが有効な参照であると仮定すると、正しいです

しかし、これが機能しているかどうかはわかりません。

これを機能させるには、さらにいくつかの手順を実行する必要があります。最初に、App.Node のマッピングを残りのアダプターに追加し、プロパティが埋め込まれていることを指定します。

DS.RESTAdapter.map('App.Node', {
  properties: { embedded: 'always' }
};

次に NodeProperties を更新して関係を含めます。

App.NodeProperties = DS.Model.extend({
  age: DS.attr('number'),
  address: DS.attr('string'),
  node: DS.belongsTo('App.Node')
});

詳細については、次の回答をご覧ください。

于 2013-04-04T12:23:02.167 に答える