3

私はこのコードをjspファイルに入れています。最初は正常に実行されます。しかし、2回目はエラーになります。

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() を実行することは知っています。

2回実行できないのはなぜですか?そして、どうすればこの状況を回避できますか?

4

1 に答える 1

0

Ext.application を 2 回呼び出すことはできません。1 回しか呼び出すことができないため、エラーが発生しています。それはシングルトンであり、アプリケーションは単なるアプリケーションであるため、2回呼び出すことはできません。それが意味をなす場合、2つのアプリケーションにすることはできません。ロード時に関数を初期化し、定義した関数内で必要なものを呼び出すことをお勧めします。

それが役に立てば幸い

于 2014-03-24T10:13:32.070 に答える