3

我在jsp文件中有这段代码,第一次运行正常。但第二次它抛出一个错误。

function ${namespace}addAppInternal(divIdStr) {    
    Ext.application({
    models: [
        'OldGridDataModel'
    ],
    stores: [
        'DataStore',
        'OldDataStore'
    ],
    views: [
        'Main',
        'TouchTreeGrid'
    ],
    controllers: [
        'TouchGridController'
    ],
    name: 'MyApp',
    appFolder: '/o3-parts-web/senchaGridTouch/app',


    launch: function() {

        var cont = Ext.create('Ext.Container', {
                layout: {
                    type: 'fit'                                                                                                               
                },
                renderTo: <%=divIdStr %>,
                //itemId: 'main',
                user: '<%=username %>',
                ticket: '<%=ticket %>',
                height : 300,
                id: String(<%=divIdStr %>),
                divT: document.getElementById("${prefsHelperDiv}")
            });
        cont.add({html:'test'});
    }


});

错误是:

“未捕获的错误:Ext.setup 之前已被调用”

我知道 Ext.application() 运行 Ext.setup()。

为什么我不能运行它两次?我怎样才能避免这种情况?

4

1 回答 1

0

您不能调用 Ext.application 两次,只能调用一次,这就是您收到该错误的原因。你不能调用它两次,因为它是一个 Singleton 并且一个应用程序只是一个应用程序,如果这有意义的话,它不能是两个应用程序。我建议你在加载时初始化函数,然后在你定义的函数中调用你想要的任何东西。

希望能帮助到你

于 2014-03-24T10:13:32.070 回答