2

我已经开始使用 ExtJs 4 开发一个新应用程序。我是 ExtJs 的新手。阅读 ExtJs 教程后,在我看来 Panel 和 ViewPort 几乎相同。然而,我们可以同时拥有许多面板和嵌套面板,因此只有一个 ViewPort。我有以下情况:我的页面为:Page1.html、Page2.html、Page3.html。都有 extjs 组件。我想加载 Page1.html。Page1.html 中的选项卡内的 Page2.html。Page1.html 选项卡内的 Page3.html。

我的问题是: - 为什么在面板上使用 ViewPort?ViewPort 比 Panel 有什么优势?- 如何使用 autoLoad 和 url 在 Page1.html 中加载 Page2.html?我尝试了下面的代码,但没有执行 Page2.html 中的 java 脚本。

{ 
    title : 'Tab3',  
    loader: {
        autoLoad: true,
        url: 'Page2.html',
        renderer: 'html',
        scripts : true, //However script in Page2.html is not executed
    }
}

感谢任何帮助?

4

3 回答 3

3

ViewportPanel的用途是完全不同的。它们在任何一个方向上都不可互换。它们的共同点是它们可能包含其他组件或一些 Web 内容,因为它们都是Containers

面板是在网页中组织内容的基本结构。它可以放置在另一个容器中(例如面板、窗口或视口),并且可以在其中组织其他组件。它非常有用,并且被应用程序和 ExtJs 框架本身大量使用。

视口是唯一的——它代表浏览器的窗口,这就是为什么页面中只能有一个视口。其他组件可以放置在其中,但不能放置在任何地方(它的位置和大小由浏览器的窗口给出,而不是其他任何东西)。

你似乎在摆弄ComponentLoader,但你还没有清楚地解释你的目标是什么。如果将 Page2.html 的内容加载到 Page1.html 的视口中,则将其所有内容替换为 Page2.html。如果您对 Page1.html 中的某些面板执行相同操作,则只会替换面板的内容。
并且 - Page2.html 应该被设计为“给我面板的内容”。

于 2013-09-21T23:09:53.237 回答
0

它们不一样...

* ViewPort 将适合浏览器主体并以适当的方式组织子项*其中 Panel 需要一些宽度和高度..所以浏览器的高度和宽度是不同的,因此您需要每次都进行更改.Soo

使用视口总是更可取的......

于 2013-09-24T11:02:43.277 回答
0

首先..阅读文档并像这篇文章一样在论坛上搜索

关于 Viewport,它更多的是关于您安排子视图的主页视图。面板用于视图区域。全部在 ExtJS 文档中。

于 2013-09-21T18:13:28.527 回答