1

次の形式の JSON があります。

{
    "id": 1,
    "arbitraryAttribute": "arbitraryValue",
    "thing": {
        "thingKey1": "thingValue1",
        "thinkKey2": "thingValue2"
    }
}

このモデルは次のように表されます。

Ext.define("MyModel", {
    extends: "Ext.data.Model",
    fields: [
        {name: "id", type: "string"},
        {name: "arbitraryAttribute", type: "string"},
    ],
    hasOne: [
        {
            model: "Thing",
            name: "thing"
        }
    ]
});

Ext.define("Thing", {
    extends: "Ext.data.Model",
    fields: [
        {name: "thingKey1", type: "string"},
        {name: "thingKey2", type: "string"}
    ]
});

プロキシは単純な json プロキシです。取得している JSON は私が提示したもののように見えますが、私の記録にはモノのモデルに関する知識がないようです。MyModel にネストされた Thing json をプルさせるために設定する必要がある追加の配管はありますか?

4

2 に答える 2

1

MyModel に thing_id を設定するのを忘れました。また、これは ExtJs ではまったく機能しません。JSON 経由で thing_id を設定できるようになりましたが、オブジェクト全体を設定することはできません (そうするべきです)。

必要に応じて、モデル プロキシを介して完全なオブジェクトを自動読み込みします。

于 2012-07-30T10:22:14.803 に答える
0
Ext.define('User', {
    extend:'Ext.data.Model',
    fields: ['id', 'name', 'status'],
    associations: [
        { type: 'hasOne', model: 'Status', associationKey: 'status'  }
    ]
});

Ext.define('Status', {
    extend:'Ext.data.Model',
    fields: ['id', 'title'],
});

デモはこちら

于 2012-09-15T09:39:54.337 に答える