2013-08-05 3 views
1

Мой контроллер, похоже, не работает. Может кто-нибудь сказать мне, что случилось?контроллер не работает Sencha Touch

Main.js это мой контроллер:

Ext.define('Catalog.controller.Main', { 
    extend: 'Ext.app.Controller', 
    config: { 
     refs: { 
      homepanel: 'homepanel' 
     }, 
     control: { 
      homepanel:{ 
       itemtap: 'showApp' 
      } 
     }, 
     showApp: function(){ 
      console.log("OK"); 
     } 
    } 

}); 

Home.js это мое мнение:

Ext.define('Catalog.view.Home', { 
    extend: 'Ext.navigation.View', 
    xtype: 'homepanel', 
    config: { 

     title: 'All', 
     iconCls: 'list', 
     cls: 'home', 
     styleHtmlContent: true, 
     items:{ 
      title: "All Apps", 
      xtype: 'list', 

      itemTpl: new Ext.XTemplate(
       '<img src="http://127.0.0.1:3000/system/appinfos/appicons/000/000/{id}/original/{appicon_file_name}" width="50" heigh="50" style="float:left;clear:both;"></img>', 
       '<div style="margin-left: 60px;word-wrap: break-word;width:50%;">', 
       '<span style="font-size:16px;">{name}</span><br>', 
       '<tpl for="categories">', 
       '<span style="font-size:13px;color:#7C7C7C;">{name}</span>', 
       '</div>', 
       '</tpl>', 
       '<span></span>' 
      ), 
      store: { 
       autoLoad: true, 
       fields: ['id','name','created_at','appicon_file_name','categories'], 
       sorters: 'created_at', 
       proxy: { 
        type: 'jsonp', 
        url: 'http://127.0.0.1:3000/appinfos.json', 
        reader:{ 
         type: 'json', 
         rootProperty:'responseData.entries' 
        } 
       } 
      } 
     } 
    } 
}); 

Там нет ошибок в консоли, но ничего не происходит

Любая помощь, которую вы могли бы предложить, будет оценена по достоинству.

+0

Вы должны попробовать 'псевдоним: 'widget.homepanel' вместо' xtype:' homepanel''. а также нет события 'itemtap' для' Ext.navigation.View'. Надеюсь, вы пытаетесь добавить это событие в «list», который является его дочерним. –

ответ

0

Я думаю, что проблема заключается в ваш метод showApp находится внутри конфигурации, должно быть:

Ext.define('Catalog.controller.Main', { 
    extend: 'Ext.app.Controller', 
    config: { 
     refs: { 
      homepanel: 'homepanel' 
     }, 

     control: { 
      homepanel:{ 
       itemtap: 'showApp' 
      } 
     } 
    }, 

    showApp: function(){ 
     console.log("OK"); 
    } 
}); 
Смежные вопросы