2013-03-23 120 views
0

我有一个列表:活动两个煎茶触摸导航视图

Ext.define('my.view.ProgramList', { 
    extend: 'Ext.dataview.List', 
    xtype: 'programlist', 
    ... 
} 

我想这个名单是起点,两个导航观点:

Ext.define("my.view.ProgramNavigationView", { 
    extend: 'Ext.navigation.View', 
    xtype: 'programnavigationview', 
    ... 
    items: [{ 
    xtype: 'programlist', 
    itemId: 'programlist' 
    }] 
} 

Ext.define("my.view.FacebookNavigationView", { 
    extend: 'Ext.navigation.View', 
    xtype: 'facebooknavigationview', 
    ... 
    items: [{ 
    xtype: 'programlist', 
    itemId: 'programlist' 
    }] 
} 

问题:如何我是否在控制器中处理tap事件并分别处理这两个事件?在我的控制,我有:

refs: { 
    programlist: 'programlist', 
    facebooknavigationview: 'facebooknavigationview', 
    programnavigationview: 'programnavigationview', ... 
}, 

我已经试过这样:

control: { 
    programlist: { 
    initialize: 'initProgramData' 
    }, 
    facebooknavigationview: { 
    itemtap: 'showFacebookGroup' 
    }, 
    programnavigationview: { 
    itemtap: 'showProgramData' 
    }, 

希望的itemtap就泡了,我可以应付不同的facebooknavigationview主场迎战programnavigationview,但它不。我可以将itemtap放入程序列表中,并且它会触发,但是我无法分辨两个导航视图之间的区别;我不知道我是否可以搜索层次结构,但这看起来很丑陋。我错过了什么?

+0

为'facebooknavigationview'创建单独列表太多了吗? – cclerville 2013-03-24 03:27:25

+0

我可以做到这一点...虽然不是非常干燥。 – fool4jesus 2013-03-24 20:59:58

+0

哈哈真的。那么你是什么意思,你不能说出两个导航视图之间的区别?这两个导航视图显示的数据是否相同? – cclerville 2013-03-24 21:53:53

回答

1

您可以添加参考使用父来帮助区分,其中抽头从例如即将到来,如果你有以下几点看法:

Ext.define("my.view.ProgramNavigationView", { 
    extend: 'Ext.navigation.View', 
    xtype: 'programnavigationview', 
    ... 
    items: [{ 
    xtype: 'programlist', 
    itemId: 'programlist' 
    }] 
} 

Ext.define("my.view.FacebookNavigationView", { 
    extend: 'Ext.navigation.View', 
    xtype: 'facebooknavigationview', 
    ... 
    items: [{ 
    xtype: 'programlist', 
    itemId: 'programlist' 
    }] 
} 

你可以使用下面的裁判:

refs: { 
    programlist: 'programlist', 
    facebooknavigationview: 'facebooknavigationview programlist', 
    programnavigationview: 'programnavigationview programlist', ... 
}, 
control: { 
    programlist: { 
    initialize: 'initProgramData' 
    }, 
    facebooknavigationview: { 
    itemtap: 'showFacebookGroup' 
    }, 
    programnavigationview: { 
    itemtap: 'showProgramData' 
    }, 

现在,项目水龙头正在监听,当它们显示在父视图内时。