Json 通过Sencha Touch 2中的代理将数据加载到存储时自定义字段解析
我试图找出解析ST2存储上REST代理检索的数据的最佳方式/位置。我希望能够控制场的深度映射。数据包含的字段不映射到模型中的任何字段,我无法控制响应中接收的数据。我想有选择地映射我想要的字段,同时忽略其他字段Json 通过Sencha Touch 2中的代理将数据加载到存储时自定义字段解析,json,proxy,sencha-touch-2,store,data-mapping,Json,Proxy,Sencha Touch 2,Store,Data Mapping,我试图找出解析ST2存储上REST代理检索的数据的最佳方式/位置。我希望能够控制场的深度映射。数据包含的字段不映射到模型中的任何字段,我无法控制响应中接收的数据。我想有选择地映射我想要的字段,同时忽略其他字段 使用自定义代理执行此操作的最佳方法是什么?如果是这样的话,我会用什么方法来覆盖呢?您可以在模型的字段中使用和的组合 Ext.define('Dude', { extend: 'Ext.data.Model', fields: [ {
使用自定义代理执行此操作的最佳方法是什么?如果是这样的话,我会用什么方法来覆盖呢?您可以在模型的字段中使用和的组合
Ext.define('Dude', {
extend: 'Ext.data.Model',
fields: [
{
name: 'name',
mapping: 'dude.name',
convert: function(value, record) {
return value.replace('>', '');
}
}
]
});
我可以通过为模型类中的每个字段设置映射属性来解决这个问题。如果您使用的是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' }
]
});
我错过了转换功能。正是我想要的。谢谢。