私の sencha touch アプリには、ストアからレンダリングされたリストを含むパネル ビューをロードする NavigationView コンテナがあります。
各タブがこの NavigationView コンテナを開くタブバーがあり、タップされたタブに応じて、NavigationView コンテナ内のパネル ビューで使用されるストア内のいくつかの追加パラメータが追加されます。
これは正常に機能しており、各タブに対して NavigationView コンテナを取得し、その中にそのタブの正しいリストを含むパネル ビューを取得します。
問題は、これらのリストには、リスト項目をタップするときにロードする必要があるいくつかの子リストがあることです。子リストを含む別のビュー Panel を NavigationView コンテナーにプッシュする次のコントローラーを使用してこれを行います。
Ext.define('FirstApp.controller.Details', {
extend: 'Ext.app.Controller',
config: {
refs: {
// this is my NavigationView container
placesContainer:'placesContainer'
},
control: {
'placesContainer categorie list':{
itemtap: 'chooseCategory'
},
そして、私の chooseCategory 関数は次のとおりです。
chooseCategory:function(list,index,target,record){
//these add some extra params to my store's proxy
Ext.getStore('Articoli').getProxy().setExtraParams({ catid: record.data.id });
Ext.getStore('Articoli').load();
this.getPlacesContainer().push({
// this is the target view panel
xtype:'articoli',
title:record.data.title,
data:record.data
})
}
これは非常にうまく機能しますが、リスト項目をクリックすると、その子リストが最初のタブ パネル内にプッシュされます。例: 3 番目のタブをタップします。アプリは、3 番目のタブに対応するリストを表示します。リストの項目の 1 つをタップします。アプリは、その子リストを最初のタブ パネルに読み込みます。最初のタブをタップするまで変更が表示されません。そこに、タブ 3 の子リストが読み込まれていることがわかります。