Панель загрузки ExtJs4 с URL - PullRequest
       2

Панель загрузки ExtJs4 с URL

2 голосов
/ 21 сентября 2011

В ExtJs 3x этот код

Ext.getCmp('specific_panel_id').load({
    url:'url_containing_scripts.htm',
    scripts:true, 
    params:{
        something:else
    }
});

работает для загрузки контента с URL в определенную панель ...

Однако это не работает в ExtJs 4.x.

Ответы [ 3 ]

1 голос
/ 20 января 2012

Это также работает:

Ext.define('EI.view.Viewport',{
extend: 'Ext.container.Viewport',
alias: 'widget.principal',

layout: {
    type: 'vbox',
    align: 'center',
    pack: 'center'
},

items:[
    {
        xtype: 'panel',
        title: 'Mi Documentacion',
        width: 800,
        height: 600,
        border: false,
        autoScroll: true,
        loader: {
            autoLoad:true,
            url :'http://localhost/docs/'
        }
    }

]

});
0 голосов
/ 22 сентября 2011

Решено с помощью следующего кода:


<code>dynamicPanel = new Ext.Component({
           loader: {
              url: 'url_containing_scripts.htm',
              renderer: 'html',
              autoLoad: true,
              scripts: true
              }
           });<br>
Ext.getCmp('specific_panel_id').add(dynamicPanel);
0 голосов
/ 21 сентября 2011

Метод загрузки отсутствует в Ext.panel.Panel в ExtJs4. В качестве обходного пути вы можете попытаться загрузить содержимое панели с помощью обычного Ext.Ajax.request и установить их в качестве элементов на панель.

Пример:

var itemsConfig;
Ext.Ajax.request({
url : 'url_containing_scripts.htm',
callback : function(options, success, response) {
        itemsConfig = Ext.decode(response.text);
    }
});
Ext.getCmp('specific_panel_id').add(itemsConfig);

Где url_contained_scripts.htm должен иметь элементы, которые вы хотите видеть на панели в формате JSON.

Таким же образом вы можете загрузить всю панель со всеми необходимыми начальными настройками конфигурации.

...