[英]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.