我有一个可以从ExtJS4 SVG stuffs中受益的ExtJS3应用程序。在线有一个example如何使用沙箱模式在ExtJS3应用程序中包含ExtJS4组件......但在示例中,ExtJS4组件在它们自己的浮动window中,因此ExtJS4组件不是'真的添加到ExtJS3组件;他们只是相互独立共存。
有没有办法在沙盒模式下运行时将ExtJS4组件添加到ExtJS3组件?例如:
var item = Ext4.create("Ext.panel.Panel", { // ExtJS4
/* config */
});
var parent = new Ext.Panel({ // ExtJS3
items:[item],
/* more config */
});
如果我尝试这样的话,我通常会收到像......这样的错误。
this.container is null (http://localhost:4000/path/ext-4.0.0/builds/ext-all-sandbox-debug.js:27723)
答案 0 :(得分:2)
看起来Ext3组件中的某些Ext4组件可以renderTo
DOM元素,但成效有限:
var ext3Panel = new Ext.Panel({
title:'Ext3'
});
ext3Panel.on('afterrender', function() {
var ext4Panel = Ext4.create('Ext.panel.Panel', {
title:'Ext4',
renderTo:ext3Panel.body.dom,
});
ext3Panel.add(ext4Panel);
});
在Ext3项目中使用Ext4图表时,这似乎最有用。
引用:
答案 1 :(得分:0)
我不认为你在做什么是可能的。 ExtJS 4有一个全新的渲染引擎,所以它正在寻找一个不存在的布局容器。
从ExtJS 3迁移你会好得多 - > 4。