2014-05-01 54 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...');一试。