2014-05-01 133 views
0

我想創建一些非常簡單的東西,但我不知何故正在努力解決這個問題。調用其他組件Sencha觸摸/ Javascript

它在Sencha Architect 3工作,但它給我的問題,所以我想CMD的方式。 在架構師,我創建了一個控制器,但由於某種原因,這沒有奏效。

所以我想用一個簡單的監聽器。

我的問題是我如何從Button Tap事件調用「MyContainer」,因爲「Refreshing ...」沒有出現?

我想:

MyContainer.setHtml('Refreshing...');

但是這給了我:未捕獲的ReferenceError myContainer中沒有定義

我也試過:

this.getMyContainer().setHtml('Refreshing...');

遺漏的類型錯誤:未定義是不是一個函數

和這個:

Ext.getElementById('MyContainer').setHtml('Refreshing...');

遺漏的類型錯誤:未定義是不是一個函數

這是我MainView.js

Ext.define('WebChat.view.Main', {

extend: 'Ext.tab.Panel', 
xtype: 'main', 
requires: [ 
    'Ext.TitleBar', 
    'Ext.Button' 
], 
config: { 

itemId: 'MainView', 
     items: [ 
      { 
       xtype: 'titlebar', 
       docked: 'top', 
       itemId: 'topBar', 
       title: 'Obec Webchat', 
       items: [ 
        { 
         xtype: 'button', 
         action: 'back', 
         id: 'BackButton', 
         itemId: 'BackButton', 
         margin: '5 70% 5 15', 
         ui: 'back', 
         text: 'Home' 
        } 
       ] 
      }, 
      { 
       xtype: 'container', 
       docked: 'top', 
       height: '100%', 
       html: '<iframe src="someurl" width="100%" height="100%" scrolling="yes"></iframe>', 
       itemId: 'MyContainer', 
       width: '100%' 
      } 
     ], 
     listeners: [ 
      { 
       fn: 'onBackButtonTap', 
       event: 'tap', 
       delegate: '#BackButton' 
      } 
     ] 
    }, 

onBackButtonTap: function(button, e, eOpts) { 
    Ext.getElementsByTagName('MyContainer').SetHtml('Refreshing...'); 
} 

在此先感謝。

回答

0

用途:

this.down('#MyContainer').setHtml('Foo');

這不是一個好主意,只是彌補的方法名稱看他們是否正常工作(Ext.getElementsByTagName)。

+0

謝謝你的工作! :D getElementsByTagName在Sublime Text的代碼完成中。 – SHEePYTaGGeRNeP

-1

Ext.get('MyContainer').update('Refreshing...');一試。