Sencha touch 两个Sencha Touch导航视图中相同列表中的事件

Sencha touch 两个Sencha Touch导航视图中相同列表中的事件,sencha-touch,Sencha Touch,我有一份清单: Ext.define('my.view.ProgramList', { extend: 'Ext.dataview.List', xtype: 'programlist', ... } 我希望此列表是两个导航视图的起点: Ext.define("my.view.ProgramNavigationView", { extend: 'Ext.navigation.View', xtype: 'programnavigationview', ... ite

我有一份清单:

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放在programlist中,它就会启动,但是我无法分辨这两个导航视图之间的区别;我不知道我是否可以搜索层次结构,但这似乎有点。。。丑陋的。我缺少什么?

您可以添加ref,使用父视图帮助区分轻敲的来源,例如,如果您有以下视图:

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'
  },

现在,当项目点击显示在父视图中时,它们正在侦听。

facebooknavigationview
创建单独的列表是否太多?我可以这样做。。。不是很干,哈哈,真的。那么,你说不能分辨两个导航视图之间的差异是什么意思?两个导航视图显示的数据是否相同?保留两个不同的ItemId和Ref会起作用,不是吗?