2015-01-16 7 views
0

sencha touch 2.4에서 작업 중이며 탭 ID로 지정된 탭에서 ajax 요청을 원합니다. 내 아약스 기능을 호출하려면 어떻게해야합니까? 아니면 탭 ID로 지정된 탭을 클릭했을 때만 요청을받을 수 있습니까? Ext.define을 사용하여 패키지 및 앱보기를 정의합니다.Sencha Touch 2에서 탭 변경시 Ajax 요청하기

내 코드 :

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.application이 아닌 Ext.define을 사용하고 싶습니다. – developer