2012-10-16 151 views
0

如果在執行我的代碼後出現此錯誤。它說:「未捕獲的類型錯誤:無法讀取未定義的屬性'isModel'。我嘗試使用名爲」model.login「的定義模型和具有僞數據的存儲來顯示列表。未捕獲的類型錯誤:無法讀取未定義的屬性'isModel'

Ext.Loader.setConfig({ 
enabled: true, 
paths:{ 
    'model' : 'app/model', 
    'store' : 'app/store' 
} 

}); 
Ext.application({ 
    name: 'GS', 
    launch: function(){ 
     var myStore = null; 
     Ext.require('model.login', function(){ 
      var login = Ext.create('model.login'); 
      myStore = new Ext.data.Store({ 
       model: login, 
       data:[ 
         {id:'09803' , issued_at: 'thisurl', instance_url:'https', signature:'token', access_token:'ser'} 
         ] 
      }); 
     }); 
     this.viewport = new Ext.Panel({ 
      fullscreen: true, 
      items:[ 
        { 
         xtype: 'list', 
         itemTpl: '{id}', 
         store: myStore 
        } 
        ] 
     }); 
    } 

}); 

回答

2

你調用創建之前model.login被加載並創建您的商店的視口正在發生的事情。將代碼移到Ext.require的回調中創建視口。

此外,將模型傳遞到商店時,您將傳遞模型構造函數,而不是它的實例。

Ext.application({ 
    name: 'GS', 
    launch: function(){ 
    this.viewport = 
    var me = this; 
    Ext.require('model.login', function(){     
     myStore = new Ext.data.Store({; 

     me.viewport = new Ext.Panel({ 
     fullscreen: true, 
     // You can pass a single item into item 
     items:{ 
      xtype: 'list', 
      itemTpl: '{id}', 
      store: myStore 
     } 
     }); 
    }); 
    } 
}); 

注意,有一個更好的方式來做到這一點,你可以告訴應用程序加載哪些車型和內嵌一些您的通話,以使其更易於閱讀

Ext.application({ 
    name: 'GS', 
    models: 'login', // looks in GS.model.login 
    launch: function(){ 
    me.viewport = new Ext.Panel({ 
     fullscreen: true, 
     // You can pass a single item into item 
     items:{ 
     xtype: 'list', 
     itemTpl: '{id}', 
     store: { 
      model: 'model.login', // or GS.model.login without quotes 
      data:[    
      {id:'09803' , issued_at: 'thisurl', instance_url:'https', signature:'token', access_token:'ser'}] 
      } 
     } 
    }); 
    } 
}); 
+0

我感動的代碼就像你建議,但我仍然得到相同的錯誤,Uncaught TypeError:無法讀取未定義的屬性'isModel'。 –

+0

感謝,似乎讓錯誤消失,但現在頁面是空白的。 –

+0

@KevinMorfin你應該只對每個帖子提出一個問題,這使得該帖子對閱讀該網站的其他人有用。你應該爲新問題提出一個新問題。所問的問題已經得到解答,並且對於可能有相同問題的其他人已經有所幫助 –

相關問題