2015-10-16 78 views
0

我一直在尝试将图像数组作为参数传递到新的ExtJS弹出窗口。我发现这在下面的链接传递JavaScript数组到新的ExtJS弹出窗口

Extjs pass in parameters to window on show

但是,当我想这在我的应用程序,它说不确定。以下是我的代码。

this.btnControlPDF = Ext.create('Ext.button.Button', {   
    width: 40, 
    height:33, 
    border:0, 
    disabled : false, 
    style: 'margin: 13px 1px 1px 5px;', 
    cls : 'icon-button-ControllListButtonPDF',       
    enableToggle: true, 
    toggleGroup: 'AccumulateToolButtons', 
    handler : function(myButton) { 
     this.reportWindow = Ext.create('Ext.view.ReportExportView'); 
     this.reportWindow.myExtraParams = { imgArray : imgArray }; 
     this.reportWindow.show(); 
     return; 
    } 
}); 

凡Ext.view.ReportExportView延伸Ext.window.Window

我要的是一个的方式来传递一个javascript数组变量,以新的ExtJS的弹出窗口,并能够访问在窗口变量。

我发现了HTML5 localStorage.getItem()。我可以用它来存储我的数组吗?

谢谢! Stu

回答

3

我希望您希望myExtraParams数据可以在ReportExportView窗口以及this.reportWindow内访问。如果是这样,请尝试此代码

this.reportWindow = Ext.create('Ext.view.ReportExportView', { 
         myExtraParams : { imgArray : imgArray } 
        } }); 
this.reportWindow.show(); 

办法从ReportExportView访问myExtraParams

Ext.define('Ext.view.ReportExportView', { 
    extend: 'Ext.window.Window', 
    alias: 'widget.reportwindoww', 
    width: 500, 
    height: 250, 
    layout: 'fit', 
    initComponent: function(){ 
     console.log(this.myExtraParams); 
     //You can write the remaining code here. 
     this.items = [{ 
      xtype: 'panel', 
      ............... 
      ............... 
     }]; 
     this.callParent(arguments); 
    } 
}); 
+0

但是,如何在弹出窗口中访问它? – Stu

+0

在ReportExportView定义中使用'initComponent'方法。在那里,你可以像'this.myExtraParams'一样阅读它。如果需要,我会添加一些代码示例。 – Gilsha

+0

我添加的是var imgsArr = me.myExtraParams.imgArray;在弹出窗口中,它的工作!谢谢:) – Stu