2

如何在新的浏览器选项卡中打开小部件,例如window.open()Ext4.2.1应用程序。我需要能够在新的浏览器选项卡中打开小部件,类似于“最大化”工具所做的,但要在新选项卡窗口中打开整个内容。到目前为止,我最好的猜测是打开一个准备好的 .aspx 页面,如窗口。 open(url) 并以某种方式将小部件传递给窗口。但棘手的部分是传递小部件,可以传递许多小部件,所以我不能只是在页面上硬编码小部件。
任何想法都会有所帮助。

4

1 回答 1

2

基于 Ext 的应用程序从 Ext.app.Application 中的主 Ext.container.Viewport 开始。解决方案是在构建主视口之前询问应用程序的状态。例如,在我的情况下,我质疑 URL params 。如果在参数中有一些参数 - 在我的情况下是“小部件”,我知道我需要基于 URL 参数 (?widget='somewidgetalias') 中的小部件名称构建单个小部件。然后我通过别名和单个小部件视口(没有项目的常规视口)创建小部件,并将这个创建的小部件作为项目传递。

 Ext.create('NG.view.WidgetViewport', { 
            items: [{
                xtype: widgetName
            }]
        });

如果我在 URL 中没有看到参数,我将继续创建一个常规的常规视口来创建应用程序。在主应用程序中,我使用这样的 javascript 打开一个新窗口:window.open(url, '_blank', specs);,URL 是应用程序的 URL 和 widget='somewidgetalias' 的参数。

于 2014-02-06T09:53:51.300 回答