【问题标题】:Ext4.2.1 How to open a new browser tab with widget inside from another browser tabExt4.2.1 如何从另一个浏览器选项卡打开一个带有小部件的新浏览器选项卡
【发布时间】:2014-02-18 06:46:13
【问题描述】:

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

【问题讨论】:

  • 为了澄清,您是否希望在 tabpanel 中打开一个新的 tab?你能提供一些你目前拥有的代码吗?
  • 我正在尝试打开一个完整的新窗口。Tab 表示浏览器选项卡

标签: javascript extjs widget ext4 browser-tab


【解决方案1】:

基于 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'的参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多