2013-07-21 29 views
0

我在我的应用程序中有2个ListView,当用户点击每个listview项目的项目时,页面应导航到不同的视图。Listview itemtap执行相同的控制器功能

在我的情况下,当我点击每个视图时,它导航到相同的视图。这似乎是当用户点击视图的一个项目时,它调用相同的控制器功能。这是我的代码,有人可以帮我解决这个问题。

Ext.define('MyApp.controller.MyCOntroller', { 
    extend: 'Ext.app.Controller', 

    config: { 
     refs: { 
      OneList: 'onel',  
      TwoList: 'twol' 
     }, 

     control: { 
      "list": { 
       itemtap: 'onOnelTap' 
      }, 
      "list": { 
       itemtap: 'twolClicked' 
      } 
     } 
    }, 

    onOnelTap: function(dataview, index, target, record, e, eOpts) { 
     console.log("hhhhhh "+e.event.target.nodeName); 
    }, 

    courtRoomListClicked: function(dataview, index, target, record, e, eOpts) { 
     console.log(" 2 -- >list"); 
    } 

}); 

回答

2

看来你还没有宣布你refscontrols正常。

比方说,你OneList有一个名为one-list一个ID,然后裁判和控制应声明如下:

config: { 
    refs: { 
     OneList: 'one-list' 
    }, 

    control: { 
     "OneList": { 
      itemtap: 'onOnelTap' 
     } 
    } 
}, 

剩下的就是好的。希望这可以帮助。

1

如果我理解正确的,你的control配置不好,你可能需要做这样的

Ext.define('MyApp.controller.MyCOntroller', { 
    extend: 'Ext.app.Controller', 

    config: { 
     refs: { 
      // I assume that 'onel' and 'twol' are xtype of respective views 
      OneList: 'onel', 
      TwoList: 'twol' 
     }, 

     control: { 
      OneList: { 
       itemtap: 'onOnelTap' 
      }, 
      TwoList: { 
       itemtap: 'onTwolTap' 
      } 
     } 
    }, 

    onOnelTap: function(dataview, index, target, record, e, eOpts) { 
     console.log("onOnel Tap "); 
    }, 

    onTwolTap: function(dataview, index, target, record, e, eOpts) { 
     console.log("onTwol Tap"); 
    } 

}); 
相关问题