2014-02-24 15 views
0



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

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 


有没有人破解这个问题?

回答

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 
      } 
     ] 
    }; 
})() 
);