2015-10-16 2 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(); 

Путь доступа к 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); 
    } 
}); 
+0

Но как мне получить доступ к нему во всплывающем окне? – Stu

+0

Использовать метод 'initComponent' в' ReportExportView'. В этом вы можете просто прочитать его как 'this.myExtraParams'. Если вам нужно, я добавлю пример кода. – Gilsha

+0

Что я добавил: var imgsArr = me.myExtraParams.imgArray; в всплывающем окне, и это сработало! Спасибо :) – Stu

Смежные вопросы