Phil
Phil

Reputation: 182

Sencha Touch 2.0 Controller can't handle clicks to my list

Hey guys i just started with sencha touch 2.0 and now i have a problem while using mvc in my project. I have a simple list and i want to open a detail view, with a tab on a list item. So i tried to tell my controller to handle clicks on this list but it doesn't work at all. What am i doing wrong?

Here's my controller

Ext.define('MyFirstApp.controller.Main', {
extend: 'Ext.app.Controller', 

views: ['Home', 'People'],
models: ['People'],
stores: ['Peoples'],

config: {
    refs: {
        people: 'peoplelist'
    },
    control: {
        people: {
            itemtap: 'testFunc'
        }
    }   
},

testFunc: function() {
    console.log("something was clicked");
}

});

'peoplelist' is the xtype of my list. Thank you for your help :-)

Upvotes: 1

Views: 2270

Answers (3)

jeremygerrits
jeremygerrits

Reputation: 157

Yes, the way you are doing it is correct but you're not getting a reference to the list correctly.

Try this:

config: {
  control: {
    'peoplelist': {
      itemtap: 'testFunc'
    }
  }   
}

This video and code helped me a lot: http://learn.sencha.com/learn/meet-the-list-component/

Updated link: http://docs.sencha.com/touch/2.2.1/#!/video/list

Upvotes: 1

grumplet
grumplet

Reputation: 285

Nothing wrong with the code you posted. It works fine with this List:

Ext.define('MyFirstApp.view.People', {

extend: 'Ext.List', 
xtype: 'peoplelist',

config: {
    fullscreen: true,
    itemTpl: '{first} {last}',
    store: 'Presidents'
}
});

It doesn't work if xtype is declared inside the config.

Upvotes: 3

Martin Filliau
Martin Filliau

Reputation: 1

You should have your people/itemtap event inside listeners (not control).

http://docs.sencha.com/touch/2-0/#!/guide/events

Upvotes: 0

Related Questions