2015-01-16 5 views
0

Я работаю в sencha touch 2.4, и я хочу получить запрос ajax на указанной вкладке с идентификатором табуляции. Как я могу назвать свою функцию ajax, или я могу получить запрос только при нажатии на указанную вкладку по идентификатору вкладки? Я использую Ext.define для определения моего представления пакета и приложения.Сделайте запрос Ajax при изменении вкладки в Sencha Touch 2

Мой код:

config: { 
     tabBarPosition: 'bottom', 

     items: [ 

    { 
        id: 'tab', 
        title: 'Home', 
        iconCls: 'home', 
        styleHtmlContent: true, 
        scrollable: true, 
        items: { 
         docked: 'top', 
         xtype: 'titlebar', 
         title: 'MyTab' 
        } 
       } 
] 
} 

Моя функция запроса:

request: function() { 
      Ext.Ajax.request({ 
      url: 'http://www.example.com' 
      method: 'GET', 
      callback: function(options, success, response) { 
       Ext.ComponentQuery.query('#id')[0].setHtml(response.responseText); 
      } 
     }); 
    } 

ответ

0

Чтобы определить, когда вкладка выбрана вы можете слушать, когда это особенно вкладка получает фокус с помощью или вы можете прослушать событие activeitemchanged на вкладке, которое будет срабатывать в любое время, когда будет выбрана вкладка. Пример кода ниже:

Ext.create('Ext.TabPanel', { 
     fullscreen: true, 
     tabBarPosition: 'bottom', 

     defaults: { 
      styleHtmlContent: true 
     }, 

     items: [{ 
      title: 'Home', 
      iconCls: 'home', 
      html: 'Home Screen' 
     }, { 
      title: 'Contact', 
      iconCls: 'user', 
      html: 'Contact Screen' 
     }], 
     listeners: { 
      activeitemchange: function() { 
       console.log('active item changed'); 
      } 
     } 
    }); 

Для реализации этого вы можете использовать либо Ext.create как я выше, или вы можете использовать Ext.define определить компонент и инициализировать его позже с помощью метода создания.

+0

Не работает для меня. – developer

+0

Я обновил ответ, извините за это. Исследование, почему это не работает – Scriptable

+0

Я хочу использовать Ext.define, а не Ext.application. – developer

Смежные вопросы