List Sencha Touch 2:NavigationView的多个实例(每个选项卡一个):控制器推动的每个面板在第一个选项卡中打开

List Sencha Touch 2:NavigationView的多个实例(每个选项卡一个):控制器推动的每个面板在第一个选项卡中打开,list,sencha-touch-2,List,Sencha Touch 2,在我的sencha touch应用程序中,我有一个NavigationView容器,它加载一个面板视图,其中包含从商店呈现的列表 我有一个选项卡栏,每个选项卡在其中打开这个NavigationView容器,根据点击哪个选项卡,在NavigationView容器内的面板视图使用的存储中添加一些额外参数 这工作正常,对于每个选项卡,我都会得到NavigationView容器,其中包含包含该选项卡的正确列表的面板视图 问题是这些列表有一些子列表,在点击列表项时需要加载这些子列表。我使用以下控制器执行此

在我的sencha touch应用程序中,我有一个NavigationView容器,它加载一个面板视图,其中包含从商店呈现的列表

我有一个选项卡栏,每个选项卡在其中打开这个NavigationView容器,根据点击哪个选项卡,在NavigationView容器内的面板视图使用的存储中添加一些额外参数

这工作正常,对于每个选项卡,我都会得到NavigationView容器,其中包含包含该选项卡的正确列表的面板视图

问题是这些列表有一些子列表,在点击列表项时需要加载这些子列表。我使用以下控制器执行此操作,该控制器在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的子列表。

您可以为您的列表提供onDisclosureItem:true,并在控制器中提供一个披露事件,以便在披露时加载子类别,并在点击项目时将您导航到其他视图

'placesContainer categorie list':{
            itemtap: 'chooseCategory',
            disclose: 'openSubCategory'
        },