繁体   English   中英

URL的ExtJs4加载面板

[英]ExtJs4 load panel from URL

在ExtJs 3x中,此代码

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

用于将内容从URL加载到特定面板中...

但是,它在ExtJs 4.x中不起作用。

这也可以:

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/'
        }
    }

]

});

加载方法已从ExtJs4中的Ext.panel.Panel中删除。 作为一种解决方法,您可以尝试使用常规的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_ contains_scripts.htm应该在面板上以JSON格式包含您想要的项目。

以相同的方式,您可以使用所需的所有初始配置设置加载整个面板。

用以下代码解决了它:


dynamicPanel = new Ext.Component({ loader: { url: 'url_containing_scripts.htm', renderer: 'html', autoLoad: true, scripts: true } });
Ext.getCmp('specific_panel_id').add(dynamicPanel);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM