extjs4中的视口面板是什么

时间:2014-08-28 11:57:05

标签: extjs extjs4 panel viewport extjs4.2

' viewport> panel'在extjs4中意味着什么?什么时候打电话?使用它有什么意义?

init : function() {
    console.log('In init function');
    this.control({
        'viewport > panel' : {
            render : this.onPanelRendered
        }
    });
}

由于它是在init函数中,我知道在应用程序启动期间调用它。但我的代码没有进入onPanelRendered方法,所以我假设条件'视口>面板'失败了,但我想知道它究竟做了什么以及可以使用的其他选项有哪些。?

提前致谢

2 个答案:

答案 0 :(得分:4)

ExtJS属于单页Web应用程序的类别(通常这些项目只有入口点)。这些单页Web应用程序控制浏览器的可见区域,此区域在ExtJS中称为“视口”。 ExtJS4开始直接从视口渲染应用程序。它是一个扩展容器。您可以查看适用于视口here的文档和配置参数。

文档说

  

Viewport将自身呈现给文档正文,并自动将其自身调整为浏览器视口的大小,并管理窗口大小调整。在页面中可能只创建一个视口。   块引用

这就是关于视口的一切。

来到你的第二个问题 “什么时候会被召唤?” 当ExtJS应用程序准备就绪时,它会搜索viewport.js并开始在body上呈现它。这意味着只要您的应用程序准备好就会调用它。

最后让我们看一下控制器中视口的用法。

'viewport > panel' : {
        render : this.onPanelRendered
    }

在这里,您调用dom查询来获取面板的事件。上面的语句说,转到视口的第一个面板项并执行渲染事件。在这种情况下,只要面板获得渲染,就会调用this.onPanelRendered。

可能存在的问题可能是

  • 'onPanelRendered'在控制器范围内不可用
  • 视口可能没有面板
  • 如果视口具有面板,则其“渲染”事件可能已被覆盖
  • 应用程序配置可能不正确

仍然无法弄明白,发布完整的代码和错误(如果有的话)。

答案 1 :(得分:2)

extjs中的视口是应用程序呈现的整个浏览器窗口。 viewport > panel不是一个条件。您只是使用CSS选择器在视口内找到任何面板,并使用onPanelRendered方法连接渲染事件。