2014-02-24 46 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 
      } 
     ] 
    }; 
})() 
);