2012-04-01 17 views
1

見えるdoes notのここに私のアプリのコードです:煎茶タッチ2 - マイExt.Listが

Ext.application({ 
    name: 'ProjectName', 
    appFolder: APP_URL + "app", 

    // phoneStartupScreen: 'LOGO.png', 

    controllers: ['Site_inside'], 
    views: ['Inside_spotlist'], 
    models: ['Spot'], 
    stores: ['Spots'], 

    launch: function() { 
     //bootstrap 
     console.log("inner site bootstrap"); 

     //var spotlist = Ext.create("ProjectName.view.Inside_spotlist"); 

     Ext.Viewport.add({ 
      xclass: 'ProjectName.view.Inside_spotlist' 
     }); 

     return true; 
    } 
}); 

ビュー 'Inside_spotlist' コード:

Ext.define('ProjectName.view.Inside_spotlist', { 
    extend: 'Ext.List', 
    alias: 'spotlist', 
    xtype: 'spotlist', 

    requires: [ 
     'ProjectName.store.Spots' 
    ], 

    config: { 
     store: 'Spots', 
     itemTpl: '{first_name} {last_name}' 
    }, 

    initialize: function() { 
     console.log("spolist loaded"); 
    } 
}); 

'スポット' モデルのコード:

Ext.define("ProjectName.model.Spot", { 
    extend: 'Ext.data.Model', 

    config: { 
     fields: [ 
      { 
       name: 'firstName', 
       type: 'string' 
      }, 
      { 
       name: 'lastName', 
       type:'string' 
      } 
     ] 
    } 
}); 
は、

最後に、スポットは次のとおりです。

Ext.define("ProjectName.store.Spots", { 
    extend: 'Ext.data.Store', 

    config: { 
     listeners: { 
      load: function() { 
       console.log("loaded store"); 
      } 
     }, 

     autoLoad: true, 
     autoSync: true, 

     model: 'ProjectName.model.Spot', 
     data:[ 
      { 
       firstName: 'test', 
       lastName: 'test2' 
      } 
     ] 
    } 
}); 

正常にロードされますが(コンソールメッセージが表示され、エラーメッセージや警告メッセージは表示されません)、テストデータのリストは表示されません。サイトを上下に「つかむ」としようとすると、右側のiOSスタイルのスクロールバーが表示されますが、リストにはデータはありません。

このコードの問題点は何ですか?

答えて

0

あなたはこれを試すことができ

config: { 
    store: 'ProjectName.store.Spots', 
    itemTpl: '{first_name} {last_name}' 
} 

の代わり:

さらに
Ext.Viewport.add({ 
    xclass: 'ProjectName.view.Inside_spotlist' 
}); 

....

をあなたはこれを試すことができますthis:

config: { 
    store: 'Spots', 
    itemTpl: '{first_name} {last_name}' 
} 
0

私はあなたが大会がここで説明に従うことをお勧めします:Loading data into List using store sencha touch 2

をその答えにコメントが質問をした人が、それをあなたの方法をしていたことを示しているように見えるが、私はそれがどのように動作するかわからないんだけど。答えに記載されている方法、つまりExt.createを使用して店舗のインスタンスを作成してから、Ext.data.StoreManager.lookupを使用して、必要な場所でそのインスタンスを見つけて使用してください。ここでの問題は、リストのstoreプロパティにストアのインスタンスがないことです。これに代えて

Ext.Viewport.add(
    Ext.create('ProjectName.view.Inside_spotlist') 
); 

関連する問題