如何避免extjs中函数属性的重复

如何避免extjs中函数属性的重复,extjs,extjs4.2,extjs-mvc,Extjs,Extjs4.2,Extjs Mvc,我有一个extjs代码类用户,我想从外部提取通用函数convertFuntion。我怎样才能做到这一点 Ext.define('App.model.user.User', { extend: 'App.model.BaseModel', requires: [ 'Ext.data.writer.Json' ], fields: [ { name: "roleIds", ma

我有一个extjs代码类用户,我想从外部提取通用函数convertFuntion。我怎样才能做到这一点

Ext.define('App.model.user.User', {
    extend: 'App.model.BaseModel',
    requires: [
               'Ext.data.writer.Json'
              ],
    fields: [

         { name: "roleIds",
           mapping: "rids",
           convert: convertFunction() {
            //same function body
           }
         },

         {
           name: "fieldIds",
           mapping: "fldids",
           convert: convertFunction() {
             //same function body
           }
         }
    ]
});
在其他类中创建一个静态方法并在这里引用是一个好主意吗

Ext.define('App.model.user.User', {
        extend: 'App.model.BaseModel',
        requires: [
                   'Ext.data.writer.Json'
                  ],
        fields: [

             { name: "roleIds",
               mapping: "rids",
               convert: SomeOther.Class.convertFunction
             },

             {
               name: "fieldIds",
               mapping: "fldids",
               convert: SomeOther.Class.convertFunction
             }
        ]
    });

直接在模型中定义转换函数

    convertFn: function(v, record) {
    console.log(v);
},
…并通过每个字段的it结构输入

    constructor: function(config) {
    this.callParent();
    var me = this;
    Ext.Array.each(me.fields, function(field, index, selfFields) {
        field.convert = me.convertFn;
    });
}

请参阅

中的完整示例,声明一个自定义字段类型并使用它。我看到我们可以在extjs 5.0中创建一个自定义字段类型,这在extjs 4.2中可能吗?