0

我试图找出解析由 ST2 商店上的 REST 代理检索的数据的最佳方式/位置。我希望能够深入控制字段的映射。数据包含不映射到模型中任何字段的字段,我无法控制响应中接收到的数据。我想有选择地映射我想要的字段,同时忽略其他字段。

使用自定义代理是最好的方法吗?如果是这样,我会覆盖什么方法来做到这一点?

4

2 回答 2

1

您可以在模型的字段上使用映射转换的组合。

Ext.define('Dude', {
    extend: 'Ext.data.Model',
    fields: [
        {
            name: 'name',
            mapping: 'dude.name',
            convert: function(value, record) {
                return value.replace('>', '');
            }
        }
    ]
});
于 2013-01-30T19:28:53.437 回答
0

我可以通过为模型类中的每个字段设置映射属性来解决这个问题。如果您使用的是 JSON 代理,这就像指定包含该值的对象的 JSON 路径一样简单。

Ext.define('MyApp.model.Category', {
    extend: 'Ext.data.Model',

    config: {
        idProperty: 'id',
        fields: [
            { name: 'id', type: 'int' },
            { name: 'category_title', type: 'string' },
            { name: 'category_description', type: 'string' },
            { name: 'category_parent', type: 'int', mapping: 'category_parent.id' }
        ]

});
于 2013-01-30T19:31:50.527 回答