在字段defaultValue中使用Ext.data.Model静态值

时间:2014-02-24 11:53:58

标签: javascript extjs extjs4



今天我遇到了关于Ext.js静态属性的问题 我尝试使用一些静态值初始化模型字段,但它会抛出一个错误,该模型是 undefined 。据我所知,这个问题与对象生命周期(对象如何创建)有关,但不知道如何修复它。

Ext.define('app.model.base.Ticket', {
    extend: 'Ext.data.Model',

    statics: {
        SOME_STATIC_VALUE: '1231231'
    },

    fields: [
        {
            name: 'requesterName',
            defaultValue: app.model.base.Ticket.SOME_STATIC_VALUE
        }
    ]
});

错误:

Uncaught TypeError: Cannot read property 'SOME_STATIC_VALUE' of undefined


有没有人解决这个问题?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

Ext.define('app.model.base.Ticket', (function() {
    var foo = '1231231';
    return {
        extend: 'Ext.data.Model',

        statics: {
            SOME_STATIC_VALUE: foo
        },

        fields: [
            {
                name: 'requesterName',
                defaultValue: foo
            }
        ]
    };
})()
);