将javascript数组传递给新的ExtJS弹出窗口

时间:2015-10-16 05:03:36

标签: javascript arrays html5 extjs extjs4

我一直在尝试将图像数组作为参数传递给新的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()。我可以用它来存储我的数组吗?

谢谢! 斯图

1 个答案:

答案 0 :(得分:3)

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

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

myExtraParams访问ReportExportView的方式。

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);  
    }
 });