在ExtJs 3x中这段代码
Ext.getCmp('specific_panel_id').load({
url:'url_containing_scripts.htm',
scripts:true,
params:{
something:else
}
});
适用于将内容从URL加载到特定面板...
但是它在ExtJs 4.x中不起作用。
答案 0 :(得分:1)
这也有效:
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/'
}
}
]
});
答案 1 :(得分:0)
加载方法已从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_containing_scripts.htm应该在面板上以JSON格式包含您想要的项目。
以同样的方式,您可以使用所需的所有初始配置设置加载整个面板。
答案 2 :(得分:0)
使用以下代码解决它:
dynamicPanel = new Ext.Component({
loader: {
url: 'url_containing_scripts.htm',
renderer: 'html',
autoLoad: true,
scripts: true
}
});
Ext.getCmp('specific_panel_id').add(dynamicPanel);