3

我有一个 ExtJS3 应用程序,它可以从ExtJS4 SVG stuffs中受益。网上有一个如何使用沙盒模式在 ExtJS3 应用程序中包含 ExtJS4 组件的示例……但在示例中,ExtJS4 组件位于它们自己的浮动窗口中,因此 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)
4

2 回答 2

2

似乎某些 Ext4 组件可以renderTo在 Ext3 组件中 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 图表时,这似乎是最有用的。

引文:

于 2011-05-25T14:19:33.117 回答
0

我不认为你在做什么是可能的。ExtJS 4 有一个全新的渲染引擎,因此它正在寻找一个不存在的布局容器。

你最好从 ExtJS 3 -> 4 迁移。

于 2011-05-20T15:45:36.127 回答